我使用的是Mac,$JAVA_HOME
环境路径设置~/.bash_profile
如下:
export JAVA_HOME=$(/usr/libexec/java_home)
更新Java后,bash
一直尝试从旧版本中查找Java。
每次打开新终端时,我都必须运行source ~/.bash_profile
告诉 bash 新的 Java 路径。是否有任何配置覆盖我的设置.bash_profile
?
答案1
所做的更改~/.bash_profile
仅在新的 shell 会话(新的终端窗口)中可见。新的 shell 会话将解析更新的配置文件并具有新$JAVA_HOME
值。
这假设终端启动新 shell 作为登录 shell。如果没有,则更改应进入~/.bashrc
.如果您不使用bash
其他 shell,则文件名将取决于您使用的 shell。
要更改现有会话中的值$JAVA_HOME
,您必须在命令行上显式设置该值,或者,正如您所发现的,获取 shell 初始化文件(这可能会或可能不会产生其他副作用,具体取决于其他命令的内容)文件中正在做的事情)。
答案2
代替
export JAVA_HOME ~ Blah
在您的 bash_profile 或 zshrc 上,使用
export PATH = <YOUR FULL LOCATION JDK>/bin:$PATH
现在任何时候它都会起作用。你必须添加bin
.