类路径包含多个SLF4J绑定

时间:2016-10-02 13:42:14

标签: java maven apache-storm slf4j

我试图调试我的项目,但得到了这个

SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/usr/local/storm/lib/logback-classic-1.0.13.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/home/user/.m2/repository/ch/qos/logback/logback-classic/1.0.13/logback-classic-1.0.13.jar!/org/slf4j/impl/StaticLoggerBinder.class]

我该怎么办?

我对POM中的SLF4J没有任何依赖

<dependency>
        <groupId>org.apache.storm</groupId>
        <artifactId>storm-core</artifactId>
        <version>0.9.6</version>
        <scope>provided</scope>
</dependency>

我试图使用我在类似帖子中找到的解决方案,但没有解决它!喜欢

<exclusions>
            <exclusion>
                <groupId>org.slf4j</groupId>
                <artifactId>log4j-over-slf4j</artifactId>
            </exclusion>
            <exclusion>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-api</artifactId>
            </exclusion>
            <exclusion>
                <groupId>logback-classic</groupId>
                <artifactId>ch.qos.logback</artifactId>
            </exclusion>
        </exclusions>

我尝试将provided替换为compile,但也没有解决。

我使用mvn dependency:tree

得到了这个
 org.slf4j:log4j-over-slf4j:jar:1.6.6:provided 
 org.slf4j:slf4j-api:jar:1.7.5:compile

1 个答案:

答案 0 :(得分:2)

对于来自/ usr / local / storm / lib /目录的第一个风暴来说,你有两个依赖关系来源,而第二个来自maven,它会导致sl4j的多个绑定。
尝试只使用一个依赖源。