【异常】org.Apache.logging.log4j.LoggingException: log4j-slf4j-impl cannot be present with log4j-to-slf4j
这个错误表明在你的项目中同时引入了 log4j-slf4j-impl 和 log4j-to-slf4j 两个依赖,而这两者是互斥的,不能同时存在。

(图片来源网络,侵删)
解决这个问题有两种方式:
-
移除冲突的依赖:
(图片来源网络,侵删)在你的项目的构建文件(如 pom.xml)中,找到引入的依赖列表,检查是否同时引入了 log4j-slf4j-impl 和 log4j-to-slf4j。如果是的话,你可以选择保留其中一个,并移除另一个。
-
排除冲突依赖:
如果你的项目中使用了其他库,它们依赖于 log4j-slf4j-impl,但你同时也想使用 log4j-to-slf4j,你可以在你的项目的构建文件中排除 log4j-slf4j-impl。
示例(Maven):
org.springframework.boot spring-boot-starter org.apache.logging.log4j log4j-slf4j-impl
示例(Gradle):
dependencies { implementation('org.springframework.boot:spring-boot-starter') { exclude group: 'org.apache.logging.log4j', module: 'log4j-slf4j-impl' } }
这样做会使得项目在依赖解析时排除了指定的冲突依赖。
无论你选择哪种方式,都要确保在项目的依赖中只保留了一个与 log4j 相关的实现库。