Mac 上 JDK 环境变量配置教程(zsh/fish,Intel/Apple Silicon)
大约 2 分钟
Mac 上 JDK 环境变量配置教程(zsh/fish,Intel/Apple Silicon)
新手一屏速览
- 推荐安装:Homebrew 或 SDKMAN 安装 JDK(例:temurin-21)
- 设置 JAVA_HOME 与 PATH:zsh/fish 分别写入配置文件
- 多版本切换:
/usr/libexec/java_home -V选择版本或用 SDKMANsdk use java - 用一段 Java 代码验证:输出版本、JAVA_HOME、java 可执行路径
1. 安装 JDK(二选一)
方案 A:Homebrew 安装(推荐)
# 安装 Homebrew(如未安装),按官网指引执行一条命令
brew update
brew search temurin
brew install temurin@21 # 安装 JDK 21
/usr/libexec/java_home -V # 查看系统识别到的 JDK 列表方案 B:SDKMAN 安装(更易切版本)
curl -s "https://get.sdkman.io" | bash
source "$HOME/.sdkman/bin/sdkman-init.sh"
sdk list java
sdk install java 21.0.2-tem # 安装 temurin 21
sdk use java 21.0.2-tem # 切换当前会话版本2. 配置环境变量(zsh 与 fish)
zsh(默认 Shell)
echo 'export JAVA_HOME=$(/usr/libexec/java_home -v 21)' >> ~/.zshrc
echo 'export PATH="$JAVA_HOME/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc
java -versionfish(如你使用 fish)
set -Ux JAVA_HOME ( /usr/libexec/java_home -v 21 )
set -Ux PATH $JAVA_HOME/bin $PATH
fish -c 'java -version'说明:
/usr/libexec/java_home会在 macOS 上返回合适版本的 JDK 根目录,自动适配 Intel 与 Apple Silicon。
3. 多版本切换
使用系统工具:
/usr/libexec/java_home -V # 列出版本
export JAVA_HOME=$(/usr/libexec/java_home -v 17)使用 SDKMAN:
sdk list java
sdk use java 17.0.10-tem
sdk default java 21.0.2-tem # 设置默认版本4. 运行验证代码(可直接复制)
最近建一些几十个工作内推群,各大城市都有,群里目前已经收集了很多内推岗位,大厂、中厂、小厂、外包都有。 欢迎HR、开发、测试、运维和产品加入。

扫描下方微信,备注:网站+所在城市,即可拉你进工作内推群。

保存为 HelloEnv.java:
/**
* 输出 JDK 版本、JAVA_HOME 与 java 可执行路径的简单验证程序。
*/
public class HelloEnv {
/**
* 程序入口:打印 Java 版本、JAVA_HOME 与 java 路径
* @param args 命令行参数
*/
public static void main(String[] args) throws Exception {
String javaVersion = System.getProperty("java.version");
String javaHome = System.getenv("JAVA_HOME");
String javaBin = System.getProperty("java.home");
System.out.println("java.version = " + javaVersion);
System.out.println("JAVA_HOME = " + javaHome);
System.out.println("java.home = " + javaBin);
}
}编译与运行:
javac HelloEnv.java
java HelloEnv预期输出示例:
java.version = 21.0.2
JAVA_HOME = /Library/Java/JavaVirtualMachines/temurin-21.jdk/Contents/Home
java.home = /Library/Java/JavaVirtualMachines/temurin-21.jdk/Contents/Home5. 常见问题排查
- java -version 显示旧版本:检查
~/.zshrc是否已写入并source ~/.zshrc;或终端重开 - Apple Silicon 找不到 JDK:确认安装的是 arm64 版本(temurin 会自动适配)
- IDEA 与命令行版本不一致:在 IDE 设置中单独指定 JDK;命令行依赖 Shell 配置
- 多版本切换后无效:确认未被其他工具覆盖(如 jenv),或用
which java定位冲突
6. 相关实用命令
/usr/libexec/java_home -V # 列出所有已安装版本
echo $JAVA_HOME # 查看当前环境变量
which java # 定位 java 可执行