Mac装Java环境的关键是选对ARM64/x64版JDK、用/usr/libexec/java_home动态配置JAVA_HOME于~/.zshrc、并通过终端启动IDE或手动绑定SDK路径。
Mac 上装 Java 环境,核心不是“装 JDK”,而是选对版本、配对 JAVA_HOME、避开系统自带的过时 JDK 和 zsh 配置失效问题。
macOS 自带的 /usr/bin/java 是 Apple 提供的旧版 JDK(如 JDK 6),早已废弃,不能用于现代 Java 开发。必须手动安装新版 JDK。
java -version 和 /usr/libexec/java_home -V 查看已注册的 JDK 列表;若只显示 1.6.0_65 或空输出,说明没装可用 JDKwhich java 返回 /usr/bin/java 是系统 stub,不可靠,别依赖它Oracle JDK 虽可商用,但需登录下载且许可限制多;Adoptium(Eclipse Temurin)是开源、免费、生产就绪的首选。
21 或 17),架构选 ARM64(M系列芯片)或 x64(Intel).pkg 安装包,双击安装(默认路径为 /Library/Java/JavaVirtualMachines
/jdk-21.jdk)/usr/libexec/java_home -V,应看到类似:/usr/libexec/java_home -V
Matching Java Virtual Machines (2):
21.0.1 (arm64) "Eclipse Temurin" - "Temurin 21.0.1" /Library/Java/JavaVirtualMachines/temurin-21.jdk/Contents/Home
17.0.9 (arm64) "Eclipse Temurin" - "Temurin 17.0.9" /Library/Java/JavaVirtualMachines/temurin-17.jdk/Contents/HomeMac 默认 shell 是 zsh,~/.bash_profile 已无效;必须改 ~/.zshrc,且 JAVA_HOME 必须用 /usr/libexec/java_home 动态获取,不能硬编码路径。
~/.zshrc:echo 'export JAVA_HOME=$(/usr/libexec/java_home -v 21)' >> ~/.zshrc echo 'export PATH=$JAVA_HOME/bin:$PATH' >> ~/.zshrc
source ~/.zshrc
echo $JAVA_HOME 应输出完整路径;java -version 和 javac -version 输出一致且匹配你选的版本export JAVA_HOME=/Library/Java/.../Home —— 升级 JDK 后路径变更,硬编码会失效IDE 不读 shell 的 ~/.zshrc,尤其从 Finder 启动时,环境变量为空。这不是 JDK 没装好,而是启动方式问题。
open -a "IntelliJ IDEA" 或 code(前提是 VS Code CLI 已安装)Project Structure → Project → Project SDK,点击 New → JDK,手动定位到 /Library/Java/JavaVirtualMachines/temurin-21.jdk/Contents/Home
.vscode/settings.json 指定:"java.configuration.runtimes": [
{
"name": "JavaSE-21",
"path": "/Library/Java/JavaVirtualMachines/temurin-21.jdk/Contents/Home"
}
]最易被忽略的是 shell 配置与 GUI 应用的环境隔离——哪怕 java -version 在终端里完全正确,IDE 仍可能报“no JDK found”,这时候别重装 JDK,先检查启动方式和 IDE 的 SDK 手动绑定。