Oracle 对 Java 8 的公开免费更新已于2019年终止,但是直到现在2025年,Java8还是非常流行,但是随着SpringBoot、SpringFramework等框架逐渐不再支持Java8环境下运行,升级Java8到新版本已经势在必行。
一、新版SpringBoot的要求
最近翻了翻SpringBoot的官方文档,突然发现SpringBoot已经发展到3.5.4
了,而我还在用2.3.12
,真的落后了好大一截。
https://spring.io/projects/spring-boot#learn

点开3.5.4文档:https://docs.spring.io/spring-boot/system-requirements.html

从官方文档可以看到,SpringBoot3.5.4需要Java17到最新版本的Java24之间的版本,不管是Java8还是Java11都已经不在支持的范围内。
二、新版SpringFramework的要求
新版SpringFramework已经到6.2.9版本,而我还在用5.2.15,同样落后了一个大版本号:https://spring.io/projects/spring-framework#learn

打开6.2.9版本的文档,可以看到该版本对Java版本的要求:https://docs.spring.io/spring-framework/reference/overview.html

同样的,新版本SpringFramework要求Java也至少得是Java17版本。
三、Java版本的选择
从SpringBoot以及SpringFramework的最新版本的要求来看,他们的运行环境至少得是Java17,那么我们应该升级到Java17吗?
打开Java官网看看:https://www.oracle.com/java/technologies/

可以看到,Java11、Java17、Java21是LTS(Long Term Support)版本,即长期支持版。Java11比较特殊,它虽然是LTS,但是一直被人诟病,最后成了一个Java8升级的“过渡版本”,而且SpringBoot以及SpringFramework都从Java17开始支持,所以Java11不做考虑了。考虑到Java17之上还有Java21也是LTS版本,那么毫无疑问,直接升级到Java21会是更好的选择。
Oracle JDK下载地址:https://www.oracle.com/java/technologies/downloads/#jdk21-windows
Open JDK下载地址: https://jdk.java.net/archive/
四、Java21新特性
写到这里我有些无语,因为Java21我也没用它开发过项目,我不知道它有啥新特性。。。。等抽空再整理整理吧。
END.
注意:本文归作者所有,未经作者允许,不得转载