最近log4j2爆出有重大漏洞问题,公司也紧急要求各个项目自己查验,要求将log4j的版本升到安全版本
目前我们使用的是springboot 1.5.9版本,内置log4j2是2.7的版本,虽然整合了mybatis,但是log4i的版本依然是以springboot内置为主
2个方案,一个是官方提供的,个人推荐,另一个是根据网上的总结出来的,测试结果也是对的
方法一:spring官网推荐(强烈建议用官网的)
https://spring.io/blog/2021/12/10/log4j2-vulnerability-and-spring-boot
官网介绍了2种情况,
情况一:直接用soringboot父pom的,类似如下的(推荐如下方式)
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.9.RELEASE</version>
<relativePath/>
</parent>
这种情况下的,就需要在自己项目的pom.xml文件中添加如下代码
<properties>
<log4j2.version>2.16.0</log4j2.version>
</properties>
若果自己项目的pom.xml文件里已经有<properties>
标签了,就自行在里面添加<log4j2.version>2.16.0</log4j2.version>
,版本自己选择,最好是>=2.15
版本
这边补充一下原因,
<properties>
可以覆盖父类pom文件里引入的依赖的版本
改完以后,可以自己看下自己项目的依赖版本是否升级了,我这边是选择升级到2.15的版本
用这种方式的好处是,你不需要一个一个去找,基本只要父pom设置好了,其他的基本就会同步升级