【问题标题】:Error: SLF4J: Class path contains multiple SLF4J bindings [duplicate]错误:SLF4J:类路径包含多个 SLF4J 绑定 [重复]
【发布时间】:2023-03-28 22:38:02
【问题描述】:

当我尝试在 Eclipse 中运行 junit 测试时,出现以下错误:

SLF4J:类路径包含多个 SLF4J 绑定。 SLF4J:在 [jar:file:/C:/Users/MaximilianBecker/.m2/repository/uk/org/lidalia/slf4j-test/1.2.0/slf4j-test-1.2.0.jar!/org/ 中找到绑定slf4j/impl/StaticLoggerBinder.class] SLF4J:在 [jar:file:/C:/Users/MaximilianBecker/.m2/repository/ch/qos/logback/logback-classic/1.1.7/logback-classic-1.1.7.jar!/org/ 中找到绑定slf4j/impl/StaticLoggerBinder.class] SLF4J:请参阅http://www.slf4j.org/codes.html#multiple_bindings 以获得解释。 SLF4J:实际绑定类型为 [uk.org.lidalia.slf4jtest.TestLoggerFactory]

我的 pom.xml 包括这个:

<dependency>
<groupId>uk.org.lidalia</groupId>
<artifactId>slf4j-test</artifactId>
<version>1.1.0</version>
</dependency>

我也在我的 pom.xml 中实现了这个:

<plugin>
  <artifactId>maven-surefire-plugin</artifactId>
  <configuration>
    <classpathDependencyExcludes>
      <classpathDependencyExcludes>ch.qos.logback:logback-classic</classpathDependencyExcludes>
    </classpathDependencyExcludes>
  </configuration>
</plugin>

它仍然无法正常工作,我得到了那个错误.....为什么?

【问题讨论】:

    标签: java maven slf4j


    【解决方案1】:

    SLF4J 它只是日志的提供者,它为其他日志框架(例如 slf4j-log4j12、slf4j-simple 等)提供接口。当您的项目中出现几个 slf4j 实现时,您会看到此警告。从您的错误来看,logback-classic-1.1.7 和 slf4j-test-1.2.0 之间出现了冲突。尝试删除其中一个依赖项。

    【讨论】:

    • 但是如果我两个都需要怎么办?
    • 尝试从你的依赖中排除嵌套的 slf4j-api。像这样&lt;dependency&gt; &lt;groupId&gt;uk.org.lidalia&lt;/groupId&gt; &lt;artifactId&gt;slf4j-test&lt;/artifactId&gt; &lt;version&gt;1.1.0&lt;/version&gt; &lt;exclusions&gt; &lt;exclusion&gt; &lt;groupId&gt;org.slf4j&lt;/groupId&gt; &lt;artifactId&gt;slf4j-api&lt;/artifactId&gt; &lt;/exclusion&gt; &lt;/exclusions&gt; &lt;/dependency&gt;
    猜你喜欢
    • 2021-05-23
    • 2012-12-11
    • 2016-03-12
    • 2014-05-18
    • 2015-08-10
    • 2021-05-19
    • 2020-07-07
    • 2018-12-12
    • 2012-09-11
    相关资源
    最近更新 更多