我应该在macOS X 10.6上设置JAVA_HOME环境变量什么?

许多使用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

其中一些是指向实际当前VM的符号链接(如Java首选项窗格中定义的)

但是,应该使用哪一种,或者可以使用其中任何一种

我只是将JAVA\u HOME设置为该命令的输出,它应该为您提供JAVA首选项中指定的JAVA路径。下面是我的.bashrc文件中的一个片段,用于设置此变量:

导出JAVA\u HOME=$(/usr/libexec/JAVA\u HOME)

我没有经历过这种技术的任何问题

有时我必须将JAVA\u HOME的值更改为JAVA的早期版本。例如,我正在维护的一个程序需要OS X上的32位Java 5,因此在使用该程序时,我通过运行以下命令设置Java\u HOME

导出JAVA_HOME=$(/usr/libexec/JAVA_HOME-v1.5)

对于那些路径中没有java\u home的用户,可以这样添加它

sudo ln-s/System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java_home/usr/libexec/java_home

参考资料

发表评论