如何在Spring-Boot 1.3.6和Java-8中使用log4j 2.17.1

9o685dep  于 2022-11-06  发布在  Spring
关注(0)|答案(1)|浏览(147)

我的Java-8项目是使用spring-boot 1.3.6版本构建的,默认情况下继承了'log4j-core-2.4.1',但现在我想将log4j-core升级到2.17.1,为此我将2.17.1添加<log4j2.version></log4j2.version>到了我项目的pom.xml文件中。构建运行良好,但错误显示:-


* ERROR org.springframework.boot.SpringApplication - Application startup failed

java.lang.NoSuchMethodError: org.apache.logging.log4j.core.config.ConfigurationFactory.getConfiguration(Lorg/apache/logging/log4j/core/config/ConfigurationSource;)Lorg/apache/logging/log4j/core/config/Configuration;*
sulc1iza

sulc1iza1#

简短回答:你不能这样做
log4j-core(cf. LOG4J2-1547)中的一项重大变更会使2.7.0版及更高版本与Sping Boot 1.3.x不兼容。您可以:

  • 升级到 Boot 或更高版本,
  • 降级到Log4j 2.3.2(包括最新的security patches):
<properties>
    <log4j2.version>2.3.2</log4j2.version>
</properties>

相关问题