0

Jetty サーバーが組み込まれたシェーディングされた実行可能ファイル .jar があります。依存関係として SLF4J (1.6.1) のバージョンは 1 つしかありませんが、Maven シェード プラグインを使用して .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 ビルドを変更して重複を削除する方法はありますか?

4

1 に答える 1

0

依存関係が SLF4J をまったくプルしないように、POM を変更します。クラスパスですでに利用可能な 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>
于 2013-07-03T16:07:02.667 に答える