首页 > 解决方案 > Spring 是否支持 OpenJDK 12

问题描述

我们计划将我们的应用程序从 Oracle JDK 8 迁移到 OpenJDK 12。目前我们使用的是 Spring Boot 版本1.4.5.RELEASE

我读过很多文章说从 Spring Boot 2.2.X 开始,我们将支持 OpenJDK 12。请提供您的意见。

标签: javaspringspring-boot

解决方案


根据Spring Framework Wiki(根据 2020 年 8 月更新)

JDK 版本范围


  • Spring Framework 5.3.x:JDK 8-17(预期)
  • Spring Framework 5.2.x:JDK 8-15(预期)
  • Spring 框架 5.1.x:JDK 8-12
  • Spring 框架 5.0.x:JDK 8-10
  • Spring Framework 4.3.x:JDK 6-8

我们在 JDK 的长期支持 (LTS) 版本上全面测试和支持 Spring,即目前的 JDK 8 和 11(两者的生命周期都到 2023 年)并期待 JDK 17(将于 2021 年底发布)。此外,我们会尽最大努力支持中间版本,例如 JDK 9/10/12/13/14 和即将推出的 JDK 15/16,这意味着我们接受错误报告并将尝试在技术上解决它们可能,但不会提供任何服务水平保证。

请升级到 Spring Framework 5.1+(和相应的 Spring Boot 2.1+)以获得 JDK 11+ 支持,作为从 JDK 8 开始的常见长期支持迁移路径。JDK 11 没有正式支持更早的 Spring 版本,特别是不支持JDK 11 字节码级别。请注意,第三方组件可能尚未完全支持 JDK 11,因此您的全栈选项可能会受到限制。

以上 Wiki 页面会定期更新,建议您自行查看。


如果你切换到 Spring 5.1.x,你在 Java 12 上就可以了。

至于 Spring Boot,2.1 适合 Java 11。Spring Boot 2.2 最高支持 Java 13。

(您可以通过查看其参考文档的“入门”页面来查找给定 Spring Boot 版本支持的 Java 版本。)


推荐阅读