Sping Boot 父log4j 2更新-漏洞修复

fsi0uk1n  于 2022-11-06  发布在  其他
关注(0)|答案(1)|浏览(141)

尝试更新旧版 Spring Boot 应用程序的log4j 2(使用Spring-boot-parent-1.5.6.RELEASE)-使用多模块
尝试了Spring在最近的文档中建议的所有方法,但没有一种方法有效。
已尝试的选项:

选项1****-添加到属性

<properties>
    <log4j2.version>2.17.0</log4j2.version>
</properties>

选项2-添加starter-log4j 2并排除核心,稍后添加log4j核心(最新)

<dependency>
   <groupid>org.springframework.boot</groupid>
   <artifactid>spring-boot-starter-log4j2</artifactid>
   <version>2.6.1</version>
   <exclusions>
     <exclusion>
       <groupid>org.apache.logging.log4j</groupid>
       <artifactid>log4j-core</artifactid>
     </exclusion>
   </exclusions>
</dependency>
<dependency>
   <groupid>org.apache.logging.log4j</groupid>
   <artifactid>log4j-core</artifactid>
   <version>2.15.0</version>
</dependency>

选项3-仅上述选项沿着log4j 2 api

<dependency>
 <groupid>org.springframework.boot</groupid>
 <artifactid>spring-boot-starter-log4j2</artifactid>
 <exclusions>
 <exclusion>
 <groupid>org.apache.logging.log4j</groupid>
 <artifactid>log4j-core</artifactid>
 </exclusion>
 </exclusions>
</dependency>
<dependency>
 <groupid>org.apache.logging.log4j</groupid>
 <artifactid>log4j-api</artifactid>
 <version>2.16.0</version>
</dependency>
<dependency>
 <groupid>org.apache.logging.log4j</groupid>
 <artifactid>log4j-core</artifactid>
 <version>2.16.0</version>
</dependency>

但是导入的依赖项仍然是slf 4j-over-log4j(1.7.25),log4j(2.7,2.11.1)。我还能做些什么吗?

2g32fytz

2g32fytz1#

选项1应该可行。

1.使用mvn clean install生成项目
1.检查jar文件的内容:转到your_project/target目录并运行jar tf your-project.jar命令。应该只有log4j-core-2.17.0.jar,没有其他版本的log4j-core
编辑:同时更新子模块中的log4j-core版本

相关问题