在 macOS 上配置 Java 环境变量需先确认安装 JDK(非 JRE),用 /usr/libexec/java_home -V 获取正确 JAVA_HOME 路径,再将其与 $JAVA_HOME/bin 加入 ~/.zshrc 并 source 生效。

在 macOS 上配置 Java 环境变量,核心是正确设置 JAVA_HOME 并将其加入 PATH,让终端能识别 java、javac 等命令。关键不在于“装没装 JDK”,而在于系统是否知道该用哪个 JDK、从哪找。
确认已安装 JDK(不是 JRE)
macOS 不自带 JDK(自 macOS 10.15 起),需手动安装。打开终端执行:
java -version
若提示 command not found,说明未安装或未配置;若显示版本但无 javac,大概率只装了 JRE(不可用于开发)。推荐安装官方 OpenJDK(如 Eclipse Temurin)或 Oracle JDK。
安装后,JDK 通常位于:
立即学习“Java免费学习笔记(深入)”;
- /Library/Java/JavaVirtualMachines/jdk-xx.x.x.jdk/Contents/Home(Temurin / Oracle)
- /opt/homebrew/opt/openjdk/libexec/openjdk.jdk/Contents/Home(Homebrew 安装的 openjdk)
找到并验证 JAVA_HOME 路径
不要手敲路径——容易出错。用以下命令自动定位已安装的 JDK:
/usr/libexec/java_home -V
输出类似:
17.0.1 (x86_64) "Eclipse Temurin" - "Eclipse Temurin 17"</code><br><code> /Library/Java/JavaVirtualMachines/temurin-17.jdk/Contents/Home
复制对应版本的完整路径(即 Contents/Home 结尾的那一行),这就是你要设的 JAVA_HOME。
临时测试是否有效:
export JAVA_HOME=/Library/Java/JavaVirtualMachines/temurin-17.jdk/Contents/Home</code><br><code>echo $JAVA_HOME</code><br><code>java -version
若版本号正常输出,说明路径正确。
永久写入 shell 配置文件
macOS 默认 shell 是 zsh,配置文件为 ~/.zshrc(不是 ~/.bash_profile)。编辑它:
nano ~/.zshrc
在文件末尾添加两行(替换为你自己的路径):
export JAVA_HOME=/Library/Java/JavaVirtualMachines/temurin-17.jdk/Contents/Home</code><br><code>export PATH=$JAVA_HOME/bin:$PATH
保存后退出(Ctrl+O → Enter → Ctrl+X),再执行:
source ~/.zshrc
验证生效:
echo $JAVA_HOME</code><br><code>which java</code><br><code>java -version</code><br><code>javac -version
全部应返回预期结果。
多版本 JDK 切换(可选但实用)
如需频繁切换 JDK 版本,不建议每次改 .zshrc。可用 /usr/libexec/java_home 动态指定:
- 查看所有版本:
/usr/libexec/java_home -V - 临时切到 JDK 11:
export JAVA_HOME=$(/usr/libexec/java_home -v 11) - 临时切到最新版:
export JAVA_HOME=$(/usr/libexec/java_home)
也可封装成别名写进 ~/.zshrc,例如:
alias jdk11='export JAVA_HOME=$(/usr/libexec/java_home -v 11)'</code><br><code>alias jdk17='export JAVA_HOME=$(/usr/libexec/java_home -v 17)'
之后在终端输入 jdk11 即可秒切。










