许多使用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
参考资料: