jdk 21是截至2026年底最新lts版本,mac安装关键在于选对架构(arm64/x64)、装到默认路径(/library/java/javavirtualmachines/)、用/usr/libexec/java_home -v 21动态配置java_home,避免硬编码路径。

Mac 系统安装 JDK 最新版,关键不是“点下一步”,而是选对版本、装对位置、配对环境。最新版通常指当前 LTS(长期支持)版本,截至 2026 年底,JDK 21 是官方最新 LTS,JDK 17 仍是企业主力,JDK 23 是非LTS功能版——新手建议优先装 JDK 21 或 JDK 17,别盲目追最新小版本(如 21.0.5 而非 21)。
确认你的 Mac 架构再下载
Apple Silicon(M1/M2/M3)芯片必须用 aarch64 版本;Intel 芯片用 x64 版本。装错会提示“无法打开”或“无法执行二进制文件”。终端运行以下命令快速判断:
uname -m —— 输出 arm64 就是 Apple Silicon;输出 x86_64 就是 Intel。
推荐三种安装方式(按推荐顺序)
-
Homebrew(最省心,适合日常开发):
先装 Homebrew(若未装):
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
再装 JDK 21:
brew install openjdk@21
装完自动软链到 /opt/homebrew/opt/openjdk@21(Apple Silicon)或 /usr/local/opt/openjdk@21(Intel),路径稳定,升级方便。 -
官网 .dmg 安装包(最直观,适合不常用命令行的用户):
去 Eclipse Temurin 或 Oracle 官网 下载对应架构的 .dmg 文件(注意:Oracle JDK 21+ 商用需许可,推荐 Temurin 开源版);
双击挂载 → 拖拽安装包图标到 Applications → 按向导完成;
默认装在 /Library/Java/JavaVirtualMachines/jdk-21.jdk,路径固定,jenv 和 IDEA 都能自动识别。 -
SDKMAN(适合多版本频繁切换者):
运行 curl -s "https://get.sdkman.io" | bash,然后 source "$HOME/.sdkman/bin/sdkman-init.sh";
查可用版本:sdk list java;
装 Temurin 21:sdk install java 21.0.5-tem;
它会把 JDK 放进 ~/.sdkman/candidates/java/current,并帮你管理 JAVA_HOME 切换。
装完必须验证和配置 JAVA_HOME
只敲 java -version 能出结果 ≠ 环境配好了。IDEA、Maven、Gradle 都依赖 JAVA_HOME 变量。别手写死路径,用系统工具定位:
终端输入:
/usr/libexec/java_home -v 21
它会输出类似:
/Library/Java/JavaVirtualMachines/jdk-21.jdk/Contents/Home
把这个路径设为 JAVA_HOME(以 zsh 为例,在 ~/.zshrc 末尾添加):
export JAVA_HOME=$(/usr/libexec/java_home -v 21)
export PATH=$JAVA_HOME/bin:$PATH
保存后运行 source ~/.zshrc,再检查:
echo $JAVA_HOME 和 javac -version(确认编译器可用)。
常见踩坑提醒
- 装完发现 java -version 显示旧版本?说明终端没读新配置,或用了不同 shell(比如 bash 里改了 zshrc);
- IDEA 里还是识别不到 JDK?别只看菜单里的 “Project SDK”,还要进 Preferences → Build → Build Tools → Maven → Importing,确认 “JDK for importer” 也指向同一版本;
- 多个 JDK 并存时,避免在 ~/.zshrc 里硬编码路径,一旦重装 JDK,路径可能变(比如 jdk-21.0.5.jdk → jdk-21.0.6.jdk),用 /usr/libexec/java_home 才可靠;
- 如果用 jenv 管理多版本,装完 JDK 后记得执行 jenv add $(/usr/libexec/java_home -v 21),再 jenv global 21 设为默认。











