当前位置: 首页 > 知识库问答 >
问题:

Gradle类路径包含多个SLF4J绑定

姚浩歌
2023-03-14

我收到编译错误。我不确定是哪个依赖项提供了这个错误。我正在使用@slf4j lombok注释在我的类中实现日志记录。

SLF4J:类路径包含多个SLF4J绑定。slf4j:在[jar:file:/home/andrius/.gradle/caches/modules-2/files-2.1/org.slf4j/slf4j-log4j12/1.7.25/110cefe2df103412849d72ef7a67e4e91e4266b4/slf4j-log4j12-1.7.25.jar!/org/slf4j/impl/staticlogerbinder.class]中找到绑定!slf4j:在

我不太确定我应该在哪个模块中排除什么来避免这种情况。

下面是我对Gradle依赖关系的设置。

dependencies {
implementation('org.springframework.boot:spring-boot-starter') {
    exclude group: 'ch.qos.logback'
}
compileOnly('org.projectlombok:lombok:1.18.2')
testCompileOnly('org.projectlombok:lombok:1.18.2')
annotationProcessor('org.projectlombok:lombok:1.18.2')
compile('org.springframework.boot:spring-boot-starter-web')
compile('org.springframework.boot:spring-boot-starter-data-jpa')
compile('net.sf.dozer:dozer:5.4.0')
compile('org.springframework.boot:spring-boot-starter-logging')
compile('io.springfox:springfox-swagger2:2.9.2')
compile('io.springfox:springfox-swagger-ui:2.9.2')
testImplementation('org.springframework.boot:spring-boot-starter-test') {
    exclude(module: 'spring-boot-starter-logging')
 }
}

共有1个答案

越新霁
2023-03-14

有几件事需要检查:

我发现gradle的缓存可能会很粘,所以当我遇到像这样的持续问题时,我喜欢rm-rf~/.gradle/caches-显然在这里要小心,不要清除超出您预期的内容。

运行gradle dependencies以找出日志记录实现的来源。您通常会发现某个地方会有一个库引入slf4j-log4j12,另一个库引入logback-classic。您似乎排除了ch.qos.logback组,因为它被spring-boot-starter拉入,所以我猜测您希望排除该实现。因此,您希望找出ch.qos.logback被拉入的其他位置,并将其排除在该位置。

这是一个费力的过程,我觉得spring选择logback-classic有点过于固执己见,但目前就是这样。

不是一个很好的答案,但我希望这能有所帮助。

 类似资料:
  • 我得到以下错误。似乎有多个日志记录框架绑定到SLF4J。不知道该怎么解决。非常感谢任何帮助。

  • 我正在为intelliJ IDEA开发一个插件,我正在使用一个外部库。当我跑步的时候,我有这个问题。 SLF4J:类路径包含多个SLF4J绑定。SLF4J:在[jar:file:/c:/users/molos/desktop/thesis-folder/thesis-project/build/idea-sandbox/plugins/thesis-project/lib/slf4j-log4j1

  • 我的应用程序服务器ibm WebSphere。我在应用程序服务器日志中得到以下错误。哪里可以设置websphere? [19.09.2012 14:56:54:940 EEST]0000000a SystemErr R SLF4J:类路径包含多个SLF4J绑定。 [19.09.2012 14:56:54:940 EEST]0000000a SystemErr R SLF4J:在[wsjar:fil

  • 我在运行java代码时遇到以下运行时异常。有人能帮我解决绑定冲突吗。

  • 我在netbeans中有一个纯Java项目,我得到的警告是: 当然,我搜索了警告,但所有的答案都与用maven或pom.xml文件删除重复绑定有关。但是我没有pom.xml文件,也没有使用Maven。 那么如何排除绑定呢?