在OSX上应该如何设置JAVA_HOME?

问题:

许多使用shell脚本配置其环境的Java应用程序使用JAVA_HOME环境变量来启动正确版本的Java,找到JRE JAR等等。
在OSX 10.6上,以下路径似乎对此变量有效

/Library/Java/Home
/System/Library/Frameworks/JavaVM.framework/Home
/System/Library/Frameworks/JavaVM.framework/Versions/Current

其中一些是实际当前VM的符号链接(如“Java首选项”窗格中所定义)。
但是应该使用哪一个,还是使用任何一个?

回答:

雪豹还有/usr/libexec/java_home?在10.5,我刚设置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

 
 
Code问答: http://codewenda.com/topics/python/
Stackoverflow: What should I set JAVA_HOME to on OSX

*转载请注明本文链接以及stackoverflow的英文链接

发表评论

电子邮件地址不会被公开。 必填项已用*标注

7 + 1 =