我按照这里给出的说明设置了我的 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 运行的任何子进程。