苹果M1芯片必须安装ARM64(aarch64)版JDK,装错x86_64会导致zsh: killed、IDE启动失败、Spring Boot闪退及Gradle卡死;需用uname -m确认arm64,下载Temurin/Zulu/Oracle的aarch64包,配置~/.zshrc中JAVA_HOME并source生效,再手动在IDE和Gradle中指定ARM路径。

苹果 M1 芯片必须安装 ARM64(aarch64)架构的 JDK,装错 x86_64 版本会导致 java 命令报 zsh: killed、IDE 启动失败、Spring Boot 应用闪退,甚至 Gradle 构建卡死。关键不是“能不能装”,而是“装对 + 配对 + 用对”。
确认你的 Mac 确实是 M1/M2/M3 芯片
打开终端,运行:
uname -m
如果输出 arm64,就确认是 Apple Silicon。也可以点击左上角苹果图标 →「关于本机」→ 查看「芯片」是否为 Apple M1、M2 或 M3。
立即学习“Java免费学习笔记(深入)”;
下载并安装 ARM64 版 JDK(推荐 JDK 17 或 JDK 21)
别点“macOS x64”或“Intel”字样包——那是给老款 Intel Mac 用的。只选明确带 aarch64 或 ARM64 标识的安装包:
- Eclipse Temurin(原 Adoptium):访问 https://www.php.cn/link/e387385ebe0dbeefed3e8e9f3968aaba → 选 macOS → 架构选 AArch64 → 下载 .pkg 安装包
- Azul Zulu:访问 https://www.php.cn/link/6f497db742b82253d9cf8c89073da954 → OS 选 macOS → Architecture 选 ARM64
- Oracle JDK(免费版到 JDK 17):访问 Oracle Java Downloads → 找 macOS 区域下标有 ARM64 DMG Installer 的版本
双击下载的 .pkg 文件,按向导完成安装。默认路径为:
/Library/Java/JavaVirtualMachines/jdk-xx.x.x.jdk
配置环境变量(重点:改对文件、写对命令)
macOS 默认使用 zsh,所以必须编辑 ~/.zshrc(不是 .bash_profile 或 .zprofile):
分析 Java Spring Boot 后端 Controller 代码,自动生成 Markdown 格式的接口文档。当用户说“生成 Java 接口文档”、“生成 API 文档”、“从 Spring 代码生成文档”时触发。
在终端中运行:
nano ~/.zshrc
在文件末尾添加这两行(推荐用 /usr/libexec/java_home 动态获取路径,避免硬编码):
export JAVA_HOME=$(/usr/libexec/java_home -v17)
export PATH=$JAVA_HOME/bin:$PATH
按 Ctrl+O → Enter → Ctrl+X 保存退出,再运行:
source ~/.zshrc
验证是否生效:echo $JAVA_HOME → 输出路径应含 arm64 或指向 /Library/Java/JavaVirtualMachines/...java -version → 输出中需含 aarch64 字样(例如 Runtime Environment (build 17.0.2+8-aarch64))
让 IDE 和构建工具也用上 ARM JDK
即使终端里 java 正常,IntelliJ、VS Code、Android Studio 或 Gradle 仍可能偷偷调用旧的 x86 JDK:
-
IntelliJ IDEA:File → Project Structure → Project → Project SDK → 点 “+” → Add JDK → 手动选择
/Library/Java/JavaVirtualMachines/jdk-17.jdk(路径里含 jdk-17 或 arm64) - VS Code:Cmd+Shift+P → 输入 “Java: Configure Java Runtime” → 在 “Java Configuration Runtimes” 中删除旧条目,点击 “+” 添加新 JDK 路径
-
Gradle / Maven:确保
gradle -v或mvn -v输出的 Java 版本与终端一致;如异常,检查file $(which gradle)是否为 arm64,必要时重装 Gradle(如用 sdkman 或 brew install gradle)
最后验证一次:file $(which java) → 输出应含 arm64/usr/libexec/java_home -V → 列出的 JDK 版本后应标注 (arm64)


















