Spring Boot 版本与 JDK 的对应关系
| Spring Boot 版本 | 最低 JDK 版本 | 最高支持 JDK 版本 | 推荐 JDK 版本 | 备注 |
|---|---|---|---|---|
| Spring Boot 4.0.x(最新主流) | Java 17 | Java 26 | Java 21 或 Java 25 | 2025 年 11 月发布,基于 Spring Framework 7 |
| Spring Boot 3.5.x | Java 17 | Java 25 | Java 21(强烈推荐) | 当前最推荐的 3.x 长期版本 |
| Spring Boot 3.4.x | Java 17 | Java 24 或 25 | Java 21 | 已逐步停止 OSS 公开支持 |
| Spring Boot 3.3.x | Java 17 | Java 23 或 25 | Java 21 | 仍在维护 |
| Spring Boot 3.0 ~ 3.2 | Java 17 | Java 21 | Java 17 / 21 | 较旧 |
| Spring Boot 2.7.x(旧项目) | Java 8 | Java 21 | Java 11 或 17 | 已接近 EOL,不推荐新项目使用 |
1.详细说明
Spring Boot 3.x 系列(目前最常用)
- 最低要求:Java 17(强制,不能用 Java 8/11)
- 大部分 3.x 版本都能运行在 Java 21 上,且表现更好(支持 Virtual Threads 等现代特性)
- 推荐:新项目直接使用 Spring Boot 3.5.x + Java 21
Spring Boot 4.0(2025 年底发布的新一代)
- 最低仍然是 Java 17
- 支持到 Java 26
- 推荐使用 Java 21 或 25(LTS 版本)
生产环境推荐(2026 年)
- 最佳选择:Spring Boot 3.5.x 或 4.0.x + JDK 21
- 次选:JDK 17(兼容性最好,但错过部分新特性)
- JDK 25/26:适合追求最新特性的项目
2.如何在项目中指定 JDK 版本
Maven(pom.xml):
1 | <properties> |
Gradle(build.gradle):
1 | java { |
3.项目选项JDK建议
- 如果你是新建项目:强烈推荐 Spring Boot 3.5.x + Java 21
- 如果团队还在用 Java 17:可以使用 Spring Boot 3.5.x(完全兼容)
- 避免使用 Spring Boot 2.7.x(除非维护老项目)
官方参考:
- Spring Boot 系统要求:https://docs.spring.io/spring-boot/system-requirements.html
- endoflife.date/spring-boot(兼容性一览表)