我想知道Ubuntu本身是否提供了系统范围的方式来查找当前JAVA_HOME
或是否有正确的位置进行设置JAVA_HOME
。
Mac OS X 在这方面做得很好,因为/usr/libexec/java_home
命令返回当前的JAVA_HOME
.但对于 Ubuntu,我找到的资料总是告诉我将指向设置$JAVA_PATH
为静态路径,该路径存储在~/.bash_profile
.
然而,我认为这种方法有几个缺点:
- 一旦Java更新,迷你版本号就会改变,这使得静态路径不再可用。
- 更改我的系统中使用的 JRE 后
update-alternatives
,我必须$JAVA_HOME
在.bash_profile
.这种额外的工作很烦人。 - 有些必需的程序,根本
$JAVA_HOME
不知道。.bash_profile
我必须$JAVA_HOME
在他们的启动脚本中进行设置,因此标准且简单的获取方式$JAVA_HOME
对我来说似乎至关重要。
嗯,欢迎任何建议。谢谢。
答案1
有点 hacky,但是将此行放入您的/etc/profile
系统范围内进行设置:
export JAVA_HOME=$(dirname $(dirname $(readlink -e /usr/bin/javac)))
答案2
您可以在 中设置环境变量/etc/environment
,它由 PAM 设置。还应该存在/usr/lib/jvm
不随次要版本而更改的符号链接。
JAVA_HOME=/usr/lib/jvm/java-6-sun
答案3
如果您确定可以调用“java”命令,这对您不起作用吗?
export JAVA_HOME=$(dirname $(java -XshowSettings:properties -version 2>&1 | grep 'java\.home' | awk '{ print $3 }'))
答案4
设置路径系统配置文件
编辑系统路径文件/etc/profile
sudo gedit /etc/profile
在最后添加以下行
JAVA_HOME=/usr/lib/jvm/jdk1.7.0
PATH=$PATH:$HOME/bin:$JAVA_HOME/bin
export JAVA_HOME
export JRE_HOME
export PATH
为了http://javaandme.com/获取完整的安装指南。