许多使用Shell脚本配置其环境的Java应用程序都使用JAVA_HOME
环境变量来启动Java的正确版本,找到JRE JAR,等等。
在macOS X 10.6中,以下路径似乎对此变量有效
/Library/Java/Home
/System/Library/Frameworks/JavaVM.framework/Home
/System/Library/Frameworks/JavaVM.framework/Versions/Current
其中一些是到实际当前虚拟机的符号链接(symbolic link)(在Java Preference Pane 中定义)。
但是应该使用哪一个?或者可以使用其中任何一个?
最佳答案
我只是将JAVA_HOME
设置为该命令的输出,这应该为您提供Java首选项中指定的Java路径。这是我的.bashrc
文件的代码片段,它设置了此变量:
export JAVA_HOME=$(/usr/libexec/java_home)
我没有经历过这种技术的任何问题。
有时我确实必须将
JAVA_HOME
的值更改为Java的早期版本。例如,我要维护的一个程序在OS X上需要32位Java 5,因此在使用该程序时,我可以通过运行设置JAVA_HOME
:export JAVA_HOME=$(/usr/libexec/java_home -v 1.5)
对于那些在路径中没有
java_home
的人,请像这样添加它。sudo ln -s /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java_home /usr/libexec/java_home
引用: