查看当前Shell。
% echo $SHELL
#示例输出:/bin/zsh
#10.5以下的系统一般会输出/bin/bash,10.5以上会输出/bin/zsh。这个步骤本身没啥用,只是为了看环境变量配置文件该使用哪个而已,如果你知道的话可以跳过。
查看默认JDK
% /usr/libexec/java_home
#示例输出:/Library/Java/JavaVirtualMachines/jdk-16.jdk/Contents/Home
查看所有JDKs
% /usr/libexec/java_home -V
#示例输出:Matching Java Virtual Machines (4):
16 (x86_64) "Oracle Corporation" - "OpenJDK 16-ea" /Library/Java/JavaVirtualMachines/jdk-16.jdk/Contents/Home
15.0.1 (x86_64) "UNDEFINED" - "OpenJDK 15.0.1" /usr/local/Cellar/openjdk/15.0.1/libexec/openjdk.jdk/Contents/Home
14.0.2 (x86_64) "AdoptOpenJDK" - "AdoptOpenJDK 14" /Library/Java/JavaVirtualMachines/adoptopenjdk-14.jdk/Contents/Home
1.8.0_275 (x86_64) "UNDEFINED" - "OpenJDK 8" /usr/local/Cellar/openjdk@8/1.8.0+275/libexec/openjdk.jdk/Contents/Home
/Library/Java/JavaVirtualMachines/jdk-16.jdk/Contents/Home
运行指定JDK版本
% /usr/libexec/java_home -v1.8
#示例输出:/usr/local/Cellar/openjdk@8/1.8.0+275/libexec/openjdk.jdk/Contents/Home
更改配置文件:
方式1(适合macOS 11 Big Sur):编辑 ~/.zshenv
或~/.zshrc
% vim ~/.zshenv
然后插入如下代码
export JAVA_HOME=$(/usr/libexec/java_home)
方式2(适合Mac OS X 10.5以上,因为此时bash
仍是默认的终端shell):编辑~/.bash_profile
或~/.bashrc
% vim ~/.bash_profile
然后插入如下代码
export JAVA_HOME=$(/usr/libexec/java_home)
方式3(适合Mac OS X 10.5以下,此时/usr/libexec/java_home
这个工具系统还没内置,所以必须设置$JAVA_HOME
的真实路径):编辑~/.bash_profile
或~/.bashrc
% vim ~/.bash_profile
然后插入如下代码(这个路径是你JDK自己的路径,请替换)
export JAVA_HOME=/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
如上编辑好了之后,我们就可以使之立即生效并检查当前环境变量
% source ~/.zshenv
% echo $JAVA_HOME
#示例输出:/Library/Java/JavaVirtualMachines/jdk-16.jdk/Contents/Home
参考自:https://mkyong.com/java/how-to-set-java_home-environment-variable-on-mac-os-x/