最近,log4j2的核弹级漏洞席卷了大部分互联网公司,升级版本成为了这两周的核心任务。升级到什么版本,最新的2.16.0版本是最好的选择。那么如何快速升级,之前也给出了升级SpringBoot项目版本最简单的方法。只需要使用这么简单的配置,就可以升级一系列log4j2包的版本。如果这个方法不行,注意添加配置后reload。另外,如果你不是SpringBoot项目,或者通过其他方式引入了log4j2,你需要单独处理,或者直接在你项目的根依赖中写入log4j2依赖,并设置版本为2.16.0即可强制覆盖其他地方的导入版本。和优秀的人在一起,你就会逐渐优秀!欢迎加入优质技术交流群。上面的配置非常简单,但是有些读者还是不明白为什么会这样:那么,今天我就来详细的给大家说说这个配置的原理。一步步理解为什么我会通过阅读代码找源码带大家一步步理解这个配置。希望通过这篇文章,大家除了知道这个问题是什么原因之外,还能自己学会这种探索问题的方法。第1步:观察您的pom.xml。有没有发现很多依赖,包括非SpringBootStarter依赖,都没有写版本?既然可以不带版本运行,那肯定有地方定义它!把焦点转移到parent上,好像这里有一个版本!第二步:进一步查看spring-boot-starter-parent的内容进入后可以看到类似如下的xml配置,主要包含构建相关的内容,不包含依赖信息。第三步:继续观察spring-boot-starter-parent中的信息,可以看到它还有一个parent,boy隐藏的好深啊!然后继续深入查看spring-boot-dependencies的内容:进入后可以看到重点,这个SpringBoot版本下各个组件的版本参数在这里:搜索log4j2,可以发现使用的是这个版本默认是2.14.1:继续查找,在dependencyManagement节点下,可以看到每个依赖的版本定义都参考了上面配置的属性:所以,当我们在我们的SpringBoot中配置相应的属性时,我们可以重写父属性,并更新版本。好了,今天的小知识你掌握了吗?如果学习有困难?可以加入我们超优质的Spring技术交流群,和优秀的人在一起,你会逐渐成为更好的自己!更多SpringBoot教程可直接点击!,欢迎收藏和转发支持!欢迎关注我的公众号:程序员DD,分享别处看不到的知识和思考
