许多使用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 Preference窗格中定义)。
但是应该使用哪一种——或者可以使用其中任何一种吗?
建议在设置JAVA_HOME环境变量前检查默认终端shell,使用如下命令:
$ echo $SHELL
/bin/bash
如果您的默认终端是/bin/bash (Bash),那么您应该使用@hygull方法
如果您的默认终端是/bin/zsh (Z Shell),那么您应该在~/中设置这些环境变量。Zshenv文件,内容如下:
export JAVA_HOME="$(/usr/libexec/java_home)"
类似地,上面没有提到的任何其他终端类型,都应该在其各自的终端env文件中设置环境变量。
此方法在macOS Mojave Version 10.14.6中测试。
建议在设置JAVA_HOME环境变量前检查默认终端shell,使用如下命令:
$ echo $SHELL
/bin/bash
如果您的默认终端是/bin/bash (Bash),那么您应该使用@hygull方法
如果您的默认终端是/bin/zsh (Z Shell),那么您应该在~/中设置这些环境变量。Zshenv文件,内容如下:
export JAVA_HOME="$(/usr/libexec/java_home)"
类似地,上面没有提到的任何其他终端类型,都应该在其各自的终端env文件中设置环境变量。
此方法在macOS Mojave Version 10.14.6中测试。