SLF4J多重绑定着色

时间:2013-07-03 15:14:36

标签: jar slf4j

我有一个带阴影的可执行文件.jar,它包含一个嵌入式Jetty服务器。我只有一个版本的SLF4J(1.6.1)作为依赖项,但是,当使用maven shade插件对.jar进行着色时,SLF4J将其视为具有多个绑定,因为依赖项打包在类路径上以及.jar

的根
org
   |_ slf4j
     |_ ...
WEB-INF
   |_ lib
     |_ slf4j-api-1.6.1.jar
     |_ slf4j-log4j12-1.6.1.jar

`SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/C:/Users/episner/Desktop/rmt/webapp/WEB-INF/l
ib/slf4j-log4j12-1.6.1.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/C:/Users/episner/Desktop/rmt-2.2.2-SNAPSHOT.w
ar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.`

有没有办法来抑制此消息或修改我的maven构建以删除重复?

1 个答案:

答案 0 :(得分:0)

修改您的POM,以便您的依赖项根本不会拉动SLF4J。 希望他们都对您的类路径中已有的SLF4J版本感到满意。

的内容
 <dependency>
    <groupId>org.quartz-scheduler</groupId>
    <artifactId>quartz</artifactId>
    <version>2.1.7</version>
    <exclusions>
        <exclusion>
                <artifactId>slf4j-api</artifactId>
            <groupId>org.slf4j</groupId>
        </exclusion>
    </exclusions>
</dependency>