Mac M芯片运行Spring Boot需配置ARM64原生JDK(如Temurin17)、ARM64版IDEA,并严格匹配Spring Boot 3.x与JDK 17+,同时升级Maven≥3.8.6及spring-boot-maven-plugin≥3.1.0。

Mac M芯片(Apple Silicon)运行 Spring Boot 项目时,兼容性问题主要集中在 JDK、IDE 配置和底层工具链三方面。这不是 Spring Boot 本身不支持 M 芯片,而是部分旧版工具或配置沿用了 x86 习惯,导致启动失败、报错或性能异常。核心问题不是“不能用”,而是“配置没对”。
确认 JDK 是 Apple Silicon 原生版本
M1/M2/M3 芯片必须使用专为 ARM64 架构编译的 JDK,否则可能触发 JIT 编译异常、tools.jar 报错或启动卡死。
- 推荐安装方式:通过 Homebrew 安装 OpenJDK(自动适配 ARM64)
brew install openjdk@17或brew install temurin17 - 验证是否为 ARM64:
java -version输出中应含 “aarch64” 或 “ARM64”;file $(which java)应显示 “mach-o 64-bit executable arm64” - 避免使用 Intel 版 JDK(如早期 Oracle JDK for macOS x64),即使能运行也易出 tools.jar、JNI 或 JNA 兼容问题
IntelliJ IDEA 需启用原生 ARM64 运行模式
旧版 IDEA(尤其是 2022.3 之前)默认以 Rosetta 模式运行,会干扰 JVM 启动路径识别,引发 “Cannot determine path to ‘tools.jar’” 等错误。
- 打开 IDEA → Help → Find Action (⇧⌘A) → 输入 “About” → 查看右下角是否显示 “Apple Silicon”
- 若显示 “Intel” 或无标识:卸载后从官网下载 ARM64 版 IDEA(.dmg 文件名含 “aarch64”)
- 确保 Project SDK 和 Run Configuration 中的 JRE 均指向 ARM64 JDK(如
/opt/homebrew/opt/openjdk@17/libexec/openjdk.jdk)
Spring Boot 版本与 JDK 的匹配要严格
M 芯片本身无版本限制,但 Spring Boot 对 JDK 的支持有明确要求:
- Spring Boot 2.7.x:最低要求 JDK 8,但推荐 JDK 17(需 Spring Framework 5.3+)
- Spring Boot 3.0+:强制要求 JDK 17+,且 不兼容 JDK 19/20 的预览特性(除非显式启用)
- 务必检查 官方兼容矩阵,避免 Spring Boot 3.2 + JDK 21 与某些 Starter(如 spring-boot-starter-data-mongodb)出现反射调用失败
Maven 和构建插件需更新至 ARM 友好版本
老版本 Maven(如 3.6.3)或 spring-boot-maven-plugin 在 ARM64 下可能出现 repackage 失败、Fat Jar 结构异常等问题。
- Maven 推荐 ≥ 3.8.6(已全面支持 aarch64)
- spring-boot-maven-plugin 推荐 ≥ 3.1.0(修复了 ARM 下嵌入式 Tomcat 初始化顺序问题)
- pom.xml 中确保插件配置含
<configuration><executable>true</executable></configuration>,便于后续部署为 macOS 原生服务


















