web-dev-qa-db-ja.com

クラスパスに複数のSLF4Jバインディングが含まれています

私のアプリケーションサーバーIBM websphere。アプリケーションサーバーのログに次のエラーが表示されます。 websphereの設定はどこにできますか?

[19.09.2012 14:56:54:940 EEST] 0000000a SystemErr R SLF4J:クラスパスに複数のSLF4Jバインディングが含まれています。
[19.09.2012 14:56:54:940 EEST] 0000000a SystemErr R SLF4J:[wsjar:file:/ C:/Lib/slf4j-log4j12-1.6.1.jar!/ org /にバインディングが見つかりましたslf4j/impl/StaticLoggerBinder.class]
[19.09.2012 14:56:54:941 EEST] 0000000a SystemErr R SLF4J:[bundleresource://217.fwk37356669:1/org/slf4j/impl/StaticLoggerBinder.class]にバインディングが見つかりました
[19.09.2012 14:56:54:941 EEST] 0000000a SystemErr R SLF4J:説明については、 http://www.slf4j.org/codes.html#multiple_bindings を参照してください。

22
aliplane

残念ながら、websphereには独自のインストール環境で一般的に使用される多くのライブラリーがあります。多くの場合、アプリケーションで使用するバージョンと競合します。

オプションは、アプリケーションからライブラリjarを削除し、websphereが提供するものを使用するか、クラスローダー設定を「parent last」に変更して、アプリにバンドルされているライブラリが最初に見つかるようにします。 (これはslf4j警告を排除しませんが、実装が確実に使用されるようにします)。

申し訳ありませんが、設定が見つかった場所の詳細を示すことはできません(私が最後にwebsphereで作業した数年)。

14
Henry

コンソールオプションの「ファイルの削除」を使用して、競合するクラスの1つを耳から削除し、jar全体(lib/slf4j-log4j12-1.7.2.jar)を選択しています。アプリケーションの再起動後に機能します。

0
radekbaranowski