环境变量 java_home 的值不正确

环境变量 java_home 的值不正确

我按照这里给出的说明设置了我的 JAVA_HOME -https://gist.github.com/senthil245/6093389 基本上,我们下载一个 jdk bin 文件,解压它,将其移动到 /usr/lib/jvm,然后使用设置环境变量 JAVA_HOME sudo vi /etc/environment

我输入并保存了JAVA_HOME="/usr/lib/jvm/jdk1.6.0_31" ,但是当我这样做时echo $JAVA_HOME,我得到了/usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java

为什么会发生这种情况?我该如何解决?

答案1

您需要运行:

source /etc/environment

这样在上声明的变量在/etc/environment当前 shell 上可用,并且您将从当前 shell 获得变量集的值。要使变量可供 shell 的所有子进程使用,export请在source-ing 之后:

export JAVA_HOME

否则,您必须从当前会话中注销并再次登录才能将变量设置为/etc/environment文件中的环境变量。


另一方面,如果您只想为自己设置此项,您~/.bashrc也可以通过以下方式进行设置:

echo -e "\nexport JAVA_HOME=/usr/lib/jvm/jdk1.6.0_31" >> ~/.bashrc && source ~/.bashrc

答案2

JAVA_HOME在 中编辑后/etc/environment,您应该执行以下操作:

source /etc/environment
export JAVA_HOME

如果您仅获取新值,则该值将不会被导出到从您的 shell 运行的任何子进程。

相关内容