暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Springboot升级简单说明以及加载jar的信息查看

济南小老虎 2024-10-23
63

背景

最近公司一直在升级springboot的版本
遇到了几个兼容性问题, 所以想总结一下springboot的升级说明
以及如果存在多个jar包时如何判断哪个jar包被加载进了系统.

主要是记录一下, 避免后续忘记了


springboot的升级

Springboot 是 pivotal 公司的一个核心产品. 
其实内部包含了springframework等组件 是一个集成的脚手架
他是新框架,使用来简化Spring的初始搭建和开发过程,
使用了特定的方式来进行配置,让开发人员不在需要定义样板化的配置。
此框架不需要配置xml,依赖于像MAVEN这样的构建系统。
信念是约定大于配置, 并且主要是IOC和AOP等的开发理念


springboot的生命周期

版本   	 发布时间    开源支持结束  商业支持结束
3.4.x 2024-11-21 2025-11-21 2027-02-21
3.3.x 2024-05-23 2025-05-23 2026-08-23
3.2.x 2023-11-23 2024-11-23 2026-02-23
3.1.x 2023-05-18 2024-05-18 2025-08-18
3.0.x 2022-11-24 2023-11-24 2025-02-24
2.7.x 2022-05-19 2023-11-24 2026-12-31
2.6.x 2021-11-17 2022-11-24 2024-02-24
2.5.x 2021-05-20 2022-05-19 2023-08-24
2.4.x 2020-11-12 2021-11-18 2023-02-23
2.3.x 2020-05-15 2021-05-20 2022-08-20
2.2.x 2019-10-16 2020-10-16 2022-01-16
2.1.x 2018-10-30 2019-10-30 2021-01-30
2.0.x 2018-03-01 2019-03-01 2020-06-01
1.5.x 2017-01-30 2019-08-06 2020-11-06


Springboot的生命周期

可以发现springboot2系列中  2.7 之前的版本已经没有了任何支持
Springboot3 系列中,只有未发布的3.4版本的支持时间比2.7的时间久.
低版本的升级是很有必要的

来源:
https://spring.io/projects/spring-boot#support


关于组件版本的关系

我们这次升级的组件是hibernate的组件
springboot 每个版本都有最佳兼容支持的组件版本
核心组件可能是springframework. 以及像是hibernate的版本
2.4升级到2.7的版本. framework. hibernate 都需要升级
官方推荐的最佳兼容版本能够保证没有特别重大的bug
但是如果使用非官方推荐的版本组合是没有任何测试和技术支持的.

这也就导致,当升级springboot的版本时很多组件的版本必须升级
并且会带来很多不会向前兼容的问题,导致异常

最明显的是 springboot3 不支持jdk8 需要升级到jdk17
但是jdk17 因为Oracle的商标和法务等问题,必须改名.导致一堆兼容性的问题.


查看java进程加载的jar包的情况

lsof -i:5200 查看LISTEN的进程编号
然后 ll proc/$pid/fd |grep -i hibernate
可以查看 进程加载的hibernate的相关组件的信息.

因为springboot在扫描jar包时会进入fd的目录里面
就可以通过这个方式很容易得查看加载了什么样的jar包等内容.

ll proc/5265/fd |grep -i hibernate
lr-x------ 1 root root 64 10月 23 18:45 1404 -> xxx/hibernate-core-5.3.10.Final.jar

如果是其他版本也可以在这里看到.


文章转载自济南小老虎,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论