Maven SLF4J错误

时间:2015-08-11 08:16:20

标签: maven binding slf4j

在构建项目期间,我收到以下警告通知

SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:(...)/lib/slf4j-log4j12-1.6.1.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:(...)/lib/slf4j-log4j12-1.6.1.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.

通常,当您包含多个slf4j库时会引发错误,这会导致清单具有多个日志记录库条目。但正如你在这里看到的那样,"多重绑定"发生在完全相同的库和完全相同的类上。

我认为我应该有一些引用相同库的依赖项,并且我应该包含其中一个。但这是dependency:tree

[INFO] +- commons-dbcp:commons-dbcp:jar:1.3:compile
[INFO] +- commons-pool:commons-pool:jar:1.5.6:compile
[INFO] +- org.hibernate:hibernate:jar:3.2.5.ga:compile
[INFO] |  +- javax.transaction:jta:jar:1.0.1B:compile
[INFO] |  +- dom4j:dom4j:jar:1.6.1:compile
[INFO] |  +- antlr:antlr:jar:2.7.6:compile
[INFO] |  +- cglib:cglib:jar:2.1_3:compile
[INFO] |  +- asm:asm:jar:1.5.3:compile
[INFO] |  \- commons-collections:commons-collections:jar:2.1.1:compile
[INFO] +- org.hibernate.javax.persistence:hibernate-jpa-2.0-api:jar:1.0.0.Final:compile
[INFO] +- commons-lang:commons-lang:jar:2.1:compile
[INFO] +- org.hibernate:hibernate-annotations:jar:3.3.1.GA:compile
[INFO] |  +- org.hibernate:hibernate-commons-annotations:jar:3.0.0.ga:compile
[INFO] |  \- commons-logging:commons-logging:jar:1.0.4:compile
[INFO] +- xerces:xercesImpl:jar:2.11.0:provided
[INFO] |  \- xml-apis:xml-apis:jar:1.4.01:provided
[INFO] +- com.mchange:c3p0:jar:0.9.2:compile
[INFO] |  \- com.mchange:mchange-commons-java:jar:0.2.3.3:compile
[INFO] +- org.slf4j:slf4j-log4j12:jar:1.6.1:compile
[INFO] |  +- org.slf4j:slf4j-api:jar:1.6.1:compile
[INFO] |  \- log4j:log4j:jar:1.2.16:compile

它似乎也没有包含多个slf4j库。

我的问题,有谁知道这个警告来自哪里? (我完全清楚它只是只是一个警告,但为了客户利益,我希望在交付产品时没有任何警告)

1 个答案:

答案 0 :(得分:1)

这似乎是SLF4J bug的一种表现形式,在2011年8月被标记为已解决,大约是提出这个问题的时间。 slf4j的1.6.1版本在修复之前发布,但看起来更新到比1.6.3更新的版本应该有修复。