如何查看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增强、三方包升级等。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/689359.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Unix I/O 模型及Java I/O 模型详解

在Unix Socket的输入操作中,可以将其分为以下几个阶段: 等待数据就绪(内核空间): 在这个阶段,应用程序通过调用阻塞式的读取函数(如recv)或非阻塞式的读取函数(如recv、recvfrom)等待…

入门级10寸加固行业平板—EM-I10J

亿道信息以其坚固耐用的智能终端设备而闻名,近日发布了一款理想入门级 10 英寸加固平板电脑—I10J。 EM-I10J​​ 这是一款 10 英寸的平板电脑,主要运行 Windows 10操作系统,带有硬化塑料外壳,具有 IP65 防水防尘功能和 MIL-STD 8…

线性dp之石子合并

设有 N堆石子排成一排,其编号为 1,2,3,…,N。 每堆石子有一定的质量,可以用一个整数来描述,现在要将这 N 堆石子合并成为一堆。 每次只能合并相邻的两堆,合并的代价为这两堆石子的质量之和,合并后与这两堆石子相邻的…

注册及搭建小程序开发环境

一、注册小程序账号 打开微信公众平台,通过邮箱注册小程序账号(每个邮箱账号,只能注册一个小程序)。 注册完成后,登录邮箱,打开激活地址,按照邮件提示,填写信息,激活账号…

Eclipse - 查看工程或者文件的磁盘路径

Eclipse - 查看工程或者文件的磁盘路径 1. Help -> Eclipse Marketplace -> Find: Explorer -> Eclipse Explorer 4.1.0 -> Install2. right-click -> Open in ExplorerReferences 1. Help -> Eclipse Marketplace -> Find: Explorer -> Eclipse Explo…

门店数字化之旅:如何跨越那些难以逾越的鸿沟?

在数字化浪潮席卷全球的背景下,连锁门店运营正面临着一场深刻的变革。这场变革不仅关乎技术的升级,更涉及到商业模式、管理理念以及消费者体验的根本性转变。然而,在这场转型之路上,许多门店却常常遭遇各种痛点,让数字…

2023年总结与2024展望

今天是春节后上班第一天,你懂的,今天基本上是摸鱼状态,早上把我们负责的项目的ppt介绍完善了一下,然后写了一篇技术文章,《分布式系统一致性与共识算法》。接着就看了我近几年写的的年度总结,我一般不会在元…

一个服务器实现本机服务互联网化

欢迎来到我的博客,代码的世界里,每一行都是一个故事 一个服务器实现本机服务互联网化 前言痛点关于中微子代理实战演练搭建服务端搭建客户端服务端配置代理实现 前言 在数字世界的网络战场上,中微子代理就像是一支潜伏在黑暗中的数字特工队&…

自动化上位机开发C#100例:雷赛运动控制卡EtherCAT总线卡C#封装类

自动化上位机开发C#100例:雷赛运动控制卡EtherCAT总线卡C#封装类 文章目录 LTDMC.dll下载LTDMC.cs LTDMC.dll C#调用封装下载ICard.cs 运动控制卡接口Card.cs 运动控制卡抽象类CardLTDMC.cs 雷赛运动控制卡EtherCAT总线卡实现类CardList.cs 总线卡列表封装 LTDMC.dll下载 最新…

【笔记------STM32】MX_RTC_Init()初始化RTC时RTC_ISR_INITF位超时失败的解决方法

RTC和flash有点像,有些功能需要解锁才能配置,虽然cubeMX生成的RTC部分的解锁配置正确,但却没有配置好前提条件:关闭PWR模块的备份域写保护使能,有点奇怪,手动关掉就好了 现象:进入RTC_EnterInit…

java数据结构与算法刷题-----LeetCode239. 滑动窗口最大值

java数据结构与算法刷题目录(剑指Offer、LeetCode、ACM)-----主目录-----持续更新(进不去说明我没写完):https://blog.csdn.net/grd_java/article/details/123063846 1. 法一:指针法 解题思路 我们以每一个窗口来看,找…

OpenAI划时代大模型——文本生成视频模型Sora作品欣赏(二)

Sora介绍 Sora是一个能以文本描述生成视频的人工智能模型,由美国人工智能研究机构OpenAI开发。 Sora这一名称源于日文“空”(そら sora),即天空之意,以示其无限的创造潜力。其背后的技术是在OpenAI的文本到图像生成模…

【软考中级备考笔记】数据的表示和校验码

2024/2/18 – 数据的表示和校验码 天气:阴雨 春节假期结束后第一个工作日,开始备考中级软件工程师。 希望在今年5月底的软考中取得中级证书 视频地址:https://www.bilibili.com/video/BV1Qc411G7fB 1. 计算机的总体架构 从下图中可以看出&am…

三防平板丨平板终端丨加固平板丨户外勘测应用

随着科技的不断发展,现代勘测业也在不断升级。相较于传统的勘测设备,三防平板在户外勘测中有着广泛的应用。那么,三防平板在户外勘测中究竟有哪些优势呢? 首先,三防平板具备极强的防水、防尘、防摔能力。在野外勘测中&…

应用管理中心架构的设计与实现

应用管理中心在现代软件开发中扮演着重要角色,它能够帮助开发团队有效管理和监控各种应用的运行情况。本文将介绍如何设计和实现一个高效、可靠的应用管理中心架构,以提升开发团队的工作效率和系统稳定性。 1. 架构概述 - 介绍应用管理中心的整体架构…

大页内存配置引发的数据库性能问题

问题背景: 用户来电报故障,他们一套正常运行的Oracle数据库,突然出现了10分钟左右的性能卡顿问题,期间全部的业务操作都变慢,他们通过查看问题期间的awr报告,发现数据库在问题时间出现大量的libary cache等待事件&…

金蝶K3-WISE与黑湖MES对接集成查询销售订单打通导入销售订单

金蝶K3-WISE与黑湖MES对接集成查询销售订单打通导入销售订单 接入系统:金蝶K3-WISE 金蝶K/3WISE是一款面向成长型企业,适应企业在快速成长过程中业务与管理的不断变化的信息化平台,实现云服务、ERP、物联网的融合,帮助企业从信息化…

基于51/STM32单片机的智能药盒 物联网定时吃药 药品分类

功能介绍 以51/STM32单片机作为主控系统; LCD1602液晶显示当前时间、温湿度、药品重量 3次吃药时间、药品类目和药品数量 HX711压力采集当前药品重量 红外感应当前药盒是否打开 DS1302时钟芯片显示当前年月日、时分秒、星期 DHT11采集当前环境温度和湿度 …

电脑卡住不动了怎么办?三招解救你的电脑!

电脑卡住不动是一种常见的故障,可能会给用户带来困扰。这种情况可能由于多种原因引起,包括软件问题、硬件故障或系统错误。那么,电脑卡住不动了怎么办呢?在本文中,我们将介绍电脑卡住不动的可能原因,并提供…

Postgresql 怎么实现在局域网中访问

安装PostgreSQL后,默认情况下只能在本机进行连接访问,如果需要在其他主机上访问PostgreSQL数据库服务器,需要进行配置。 安装连接PostgresSQL数据库可以参考博文:安装连接PostgresSQL数据库教程 一. 整体步骤 主要包括下面几个步…