查看當前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/