尝试更新旧版 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)。我还能做些什么吗?
1条答案
按热度按时间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版本