如何查看springboot依赖的JDK版本

通过maven构建Java项目或者使用源代码进行Java编译时,常常遇到JDK版本和Springboot版本不匹配的问题,导致编译失败,比如出现如下错误:

org/springframework/beans/factory/InitializingBean.class

[ERROR]     类文件具有错误的版本 61.0, 应为 55.0

[ERROR]     请删除该文件或确保该文件位于正确的类路径子目录中。

/org/springframework/boot/autoconfigure/AutoConfigureAfter.class

[ERROR]     类文件具有错误的版本 61.0, 应为 55.0

[ERROR]     请删除该文件或确保该文件位于正确的类路径子目录中。

这类错误的原因是:你本地的jdk版本低,而代码里依赖的springboot版本高导致的错误,解决这个问题要么提升jdk版本,要么降低springboot版本。那么如何查看springboot版本与jdk版本的对应关系呢?

一、如何查看springboot依赖的JDK版本

1、打开spring官方网站

进入spring官方网站Spring | Home,点击菜单Projects\Spring Boot,然后点击LEARN页签,查看主流的springboot版本。

版本标识的意义

CURRENT:代表了当前版本,最新发布版本,里程碑版本。

GA:通用正式发布版本,同release。

SNAPSHOT:快照版本,可用但非稳定版本。

PRE:预览版本。

M版本M1,M2,M3中的M是milestone的简写,这个单词是里程碑的意思。

Alpha:也被称为内部测试版或预览版,这些版本通常不会对外部用户公开,因为它们可能包含许多尚未修复的漏洞和不完整的功能。通常只有开发团队和其他内部相关人士才能访问和使用 Alpha 版本。

Beta:是一种公开测试版,位于 Alpha 版本之后。这个阶段的版本通常会加入新功能,并且相较于 Alpha 版本来说会更加稳定。Beta 版本主要面向特定的用户群体进行测试,如合作伙伴、潜在客户或早期采用者。             

2、查看Reference Doc.

比如我们想查看spring boot3.0.13版本,点击Reference Doc.进入参考详情页面。

3、点击左侧的 Getting Started菜单

4、接着点击左侧的2. System Requirements菜单

可以看到Spring Boot版本对Java jdk版本的要求说明:

Spring Boot 3.0.13 requires Java 17 and is compatible up to and including Java 21. Spring Framework 6.0.14 or above is also required.

Spring Boot 3.0.13需要Java 17,并且兼容Java 21(包括Java 21)。还需要Spring Framework 6.0.14或更高版本。

二、主流的springboot和jdk版本的对应关系

序号

Spring Boot 版本

Jdk版本

Spring Framework 版本

1

Spring Boot 2.7.18 

Java Jdk 8版本—21版本

Spring Framework 5.3.31+

2

Spring Boot 3.0.13

Java Jdk 17版本-21版本

Spring Framework 6.0.14+

3

Spring Boot 3.1.8

Java Jdk 17版本-21版本

Spring Framework 6.0.16+

4

Spring Boot 3.2.2

Java Jdk 17版本-21版本

Spring Framework 6.0.13+

5

Spring Boot 3.3.0-M1

Java Jdk 17版本-21版本

Spring Framework 6.0.13+

可以看到,Spring Boot 3以上版本至少得依赖JDK17版本,如果项目中要求使用JDK8版本,那么只能使用Spring Boot 2版本了。

  • 三、Spring Boot 2和Spring Boot 3有什么区别

1.最低环境的区别

Java版本:SpringBoot2的最低版本要求为Java8,支持Java9;而SpringBoot3决定使用Java17作为最低版本,并支持Java19。

Spring Framework 版本: SpringBoot2基于Spring Framework5开发;而SpringBoot3构建基于Spring Framework6之上。

2.GraalVM支持的区别

相比SpringBoot2,SpringBoot3的Spring Native也是升级的一个重大特性,支持使用GraalVM将Spring的应用程序编译成本地可执行的镜像文件,可以显著提升启动速度、峰值性能以及减少内存使用。

3.图片Banner支持的区别

在SpringBoot2中,自定义Banner支持图片类型;而现在Spring Boot3自定义Banner只支持文本类型(banner.txt),不再支持图片类型。

4.依赖项的区别

相比SpringBoot2,Spring Boot3.0.0-M1删除了对一些附加依赖项的支持,包括Apache ActiveMQ、Atomikos、EhCache2和HazelCast3。Jersey是另一个值得注意的弃用,在它提供对Spring Framework6的支持之前已被删除。
除了上述内容外,相比SpringBoot2,SpringBoot3还增加了很多其它的新特性,如:Java EE已经变更为Jakarta EE、Log4j2增强、三方包升级等。

  • 34
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大龄码农有梦想

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值