4

これは多かれ少なかれ「一般的な」質問ですが、私はまだ良い答えを見つけることができませんでした. 繰り返しになりますが、ここに警告があります。

SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/home/eualin/.m2/repository/org/slf4j/slf4j-jcl/1.6.0/slf4j-jcl-1.6.0.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/home/eualin/.m2/repository/org/slf4j/slf4j-log4j12/1.5.11/slf4j-log4j12-1.5.11.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.

この問題に対する 2 つの解決策を次に示します[1] [2]

両方ともうまくいくと仮定すると、明らかに、それらは単なるハックであり、それらのいずれかに依存する必要があるかどうかはわかりません. あなたは私に何を勧めますか?ターミナルでは警告が表示されないことに注意してください。IntelliJIDEA を介してアプリケーションを実行した場合のみ。

どんな提案でも大歓迎です。

4

4 に答える 4

2

これはおそらく、IntelliJIDEA が slf4j バインディング JAR 自体の 1 つを追加しているためです。私の推測では、単体テストを実行すると発生します。したがって、1 つのアプローチでは、単体テスト ランナーのランチャー構成で他の JAR を除外できるかどうかを確認します。

しかし、結局のところ、この警告は無害であり、単に無視することができます。

于 2013-02-12T16:53:56.820 に答える