【问题标题】:Spring boot parent log4j2 update - vulnerability fixSpring boot 父 log4j2 更新 - 漏洞修复
【发布时间】:2021-12-27 15:52:45
【问题描述】:

尝试更新旧版 Spring Boot 应用程序的 log4j2(使用 Spring-boot-parent-1.5.6.RELEASE) - 使用多模块
尝试了 spring 在最近的文档中建议的所有方法,但都没有奏效。
尝试的选项:
选项 1 - 添加到属性

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

选项 2 - 添加 starter-log4j2 并排除核心,稍后添加 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 - 只是上面的一个以及 log4j2 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>

但导入的依赖项仍然是 slf4j-over-log4j(1.7.25)、log4j(2.7, 2.11.1)。还有什么我可以做的吗?

【问题讨论】:

    标签: spring spring-boot log4j log4j2 slf4j


    【解决方案1】:

    选项 1 应该可以工作。

    1. 使用mvn clean install 构建您的项目
    2. 检查 jar 文件的内容:转到 your_project/target 目录并运行 jar tf your-project.jarcommand。应该只有 log4j-core-2.17.0.jar 而没有其他版本的 log4j-core

    编辑:同时更新子模块中的 log4j-core 版本

    【讨论】:

      猜你喜欢
      • 2022-12-19
      • 1970-01-01
      • 2023-01-23
      • 1970-01-01
      • 2022-01-18
      • 2016-02-12
      • 2021-08-25
      • 2022-01-19
      • 2020-11-14
      相关资源
      最近更新 更多