Java程序运行时报错:log4j-slf4j-impl cannot be present with log4j-to-slf4i 如何处理

Lars Møller avatar

WIBU

2023-09-14

报错由`log4j-slf4j-impl`和`log4j-to-slf4j`冲突引起。在Spring Boot下,移除`log4j-slf4j-impl`依赖即可解决问题。

此报错是由于 log4j-slf4j-impl 和 log4j-to-slf4j 这两个包不能同时存在。
spring boot 默认使用的logback日志系统,logback实现的是slf4j接口,需要适配 log4j接口,所以会引入 log4j-to-slf4j。
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-logging</artifactId> <version>2.3.5.RELEASE</version> <scope>compile</scope> </dependency>
因此,如果您正在使用的是spring boot,则不能引入log4j-slf4j-impl。
问题解决:确认是哪个 pom 文件引入了 log4j-slf4j-impl,把这个包去掉即可。报错由`log4j-slf4j-impl`和`log4j-to-slf4j`冲突引起。在Spring Boot下,移除`log4j-slf4j-impl`依赖即可解决问题。
免费试用
0