核心步驟是設置 JAVA_HOME
變量,并將其 bin
目錄添加到系統的 PATH
變量中。
macOS 從 Catalina (10.15) 版本開始,默認的終端 Shell 從 bash
切換到了 zsh
。因此,你需要先確定你正在使用的 Shell,然后編輯對應的配置文件。
步驟一:查找 JDK 的安裝路徑
在 Mac 上,你不需要手動尋找 JDK 的路徑。系統提供了一個很方便的工具 /usr/libexec/java_home
來動態獲取當前最優的 JDK 路徑。
- 打開終端 (Terminal)。
- 運行以下命令來獲取當前默認(通常是最高版本)的 JDK 主目錄路徑:
你會得到類似這樣的輸出,請復制它,下面會用到:/usr/libexec/java_home
/Library/Java/JavaVirtualMachines/temurin-17.jdk/Contents/Home
優點:使用這個命令而不是硬編碼一個具體路徑(如 .../jdk-17.jdk/...
),意味著當你未來升級或安裝新的 JDK 時,這個環境變量配置無需修改,它會自動指向新的默認版本。
步驟二:確定你的 Shell 類型
在終端中輸入以下命令:
echo $SHELL
- 如果輸出包含
/bin/zsh
,那么你正在使用 Zsh。 - 如果輸出包含
/bin/bash
,那么你正在使用 Bash。
步驟三:編輯對應的 Shell 配置文件
根據上一步的結果,選擇相應的操作。
情況 A:如果你使用 Zsh (macOS Catalina 及更新版本)
你需要編輯 ~/.zshrc
文件。
-
打開或創建配置文件:
使用一個簡單的文本編輯器(如nano
)來編輯文件。nano ~/.zshrc
如果文件是新建的,窗口會是空白的,這很正常。
-
添加環境變量配置:
將下面兩行代碼粘貼到文件的末尾。# Setting JAVA_HOME for JDK export JAVA_HOME=$(/usr/libexec/java_home) export PATH="$JAVA_HOME/bin:$PATH"
- 第一行:設置
JAVA_HOME
變量,它的值是java_home
命令的執行結果。 - 第二行:將 JDK 的
bin
目錄(包含了java
,javac
等命令)添加到系統PATH
的最前面,這樣系統會優先使用你指定的 JDK 版本。
- 第一行:設置
-
保存并退出:
- 按下
Control + O
(WriteOut) - 按
Enter
鍵確認文件名。 - 按下
Control + X
退出nano
編輯器。
- 按下
情況 B:如果你使用 Bash (macOS Mojave 及更早版本)
你需要編輯 ~/.bash_profile
文件。
-
打開或創建配置文件:
nano ~/.bash_profile
-
添加環境變量配置:
同樣,將下面兩行代碼粘貼到文件的末尾。# Setting JAVA_HOME for JDK export JAVA_HOME=$(/usr/libexec/java_home) export PATH="$JAVA_HOME/bin:$PATH"
-
保存并退出:
- 按下
Control + O
- 按
Enter
- 按下
Control + X
- 按下
步驟四:讓配置立即生效
你剛剛修改的配置文件只會在新的終端窗口中被加載。要讓你當前的終端窗口也應用這些更改,執行以下命令:
- 如果你用的是 Zsh:
source ~/.zshrc
- 如果你用的是 Bash:
source ~/.bash_profile
或者,你也可以直接關閉當前的終端窗口并重新打開一個,效果是一樣的。
步驟五:驗證配置是否成功
在新的終端窗口或 source
過的窗口中,運行以下命令進行檢查:
-
檢查 JAVA_HOME:
echo $JAVA_HOME
預期輸出:應該會打印出你在第一步中看到的 JDK 路徑,例如
/Library/Java/JavaVirtualMachines/temurin-17.jdk/Contents/Home
。 -
檢查 Java 版本:
java -version
預期輸出:應該會顯示你默認 JDK 的版本信息。
-
檢查
java
命令的路徑:which java
預期輸出:應該會顯示
JAVA_HOME
路徑下的bin/java
,例如/Library/Java/JavaVirtualMachines/temurin-17.jdk/Contents/Home/bin/java
。
如果以上命令的輸出都符合預期,那么恭喜你,JDK 環境變量已經成功配置!