在 macOS Sonoma 上可通过 Homebrew 安装 JDK 11/17/21,推荐使用 brew install --cask temurin@xx(xx 为版本号),路径统一在 /Library/Java/JavaVirtualMachines/temurin-xx.jdk/Contents/Home,并建议搭配 jenv 管理多版本。

直接用 Homebrew 在 macOS Sonoma 上安装 JDK 11、17、21 是完全可行的,但要注意:Homebrew 默认不提供 brew install jdk11 这类简写命令,必须指定带版本号的公式(formula),且不同 JDK 版本来源略有差异——有的走 openjdk@xx,有的推荐用 temurin@xx(Eclipse Adoptium 官方构建,更稳定、兼容性更好,尤其对 Apple Silicon)。
以下是清晰、实测有效的步骤:
✅ 安装前确认 Homebrew 已就绪
确保已安装并更新:
brew update
若未安装 Homebrew,运行官方一键脚本:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
✅ 推荐方式:用 --cask 安装 Temurin(首选,尤其 Sonoma + M 系列芯片)
Temurin 是 Eclipse Adoptium 提供的高质量 OpenJDK 构建,签名完整、更新及时、对 macOS Sonoma 和 ARM64 支持完善。
# 安装 JDK 11(LTS) brew install --cask temurin@11 # 安装 JDK 17(LTS) brew install --cask temurin@17 # 安装 JDK 21(最新 LTS,截至 2026 年仍为主流) brew install --cask temurin@21
✅ 安装后路径统一在:/Library/Java/JavaVirtualMachines/temurin-11.jdk/Contents/Home/Library/Java/JavaVirtualMachines/temurin-17.jdk/Contents/Home/Library/Java/JavaVirtualMachines/temurin-21.jdk/Contents/Home
可通过以下命令验证是否识别:
/usr/libexec/java_home -V
你会看到类似输出:
Matching Java Virtual Machines (3): 21.0.10 (arm64) "Eclipse Adoptium" - "OpenJDK 21.0.10" 17.0.18 (arm64) "Eclipse Adoptium" - "OpenJDK 17.0.18" 11.0.23 (arm64) "Eclipse Adoptium" - "OpenJDK 11.0.23"
⚠️ 替代方式:用 openjdk@xx(仅限基础需求,不推荐主力开发)
Homebrew 的 openjdk@xx 是“keg-only”包,不自动注册到系统 JVM 列表,需额外软链或配合 jenv 才能被 java_home 识别:
brew install openjdk@11 openjdk@17 openjdk@21
安装后路径为:/opt/homebrew/opt/openjdk@11/libexec/openjdk.jdk/Contents/Home(M 系列)/usr/local/opt/openjdk@11/libexec/openjdk.jdk/Contents/Home(Intel)
如需让系统级工具(如 IntelliJ、Gradle)识别,建议手动软链:
sudo ln -sfn /opt/homebrew/opt/openjdk@21/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk-21.jdk
✅ 验证安装是否成功
任选一个版本执行:
# 切换并验证(需先配置 jenv,见下文简要说明) jenv global 17 java -version # 应输出 openjdk version "17.0.18"
? 小提示:单靠
brew install不会自动切换JAVA_HOME或java命令。如需灵活切换多版本,强烈建议搭配 jenv 使用(安装brew install jenv,再jenv add各 JDK 路径,最后jenv global 17即可)。这比手动改.zshrc更可靠,也避免环境变量冲突。
不复杂但容易忽略。


















