2012-09-19 29 views
22

マイアプリケーションサーバーibm websphere。 アプリケーションサーバーのログに次のエラーが表示されます。 websphereの設定はどこでできますか?クラスパスに複数のSLF4Jバインディングが含まれています

[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を参照してください。

+1

提案されたリンクにアクセスして意味がありましたか? 2つのバインディングがどこから来ているのかを判断するのにこの質問をしていますか? 1つはC:/Lib/slf4j-log4j12-1.6.1.jarです。もう一つは、OSGiのリファレンスです。あなたはEclipse/RADの下で走っていますか? WebSphereのどのバージョン? – dbreaux

+2

いいえ、私はRAD8とWAS8を使ってリンクを求めていません。 私はC:/Lib/slf4j-log4j12-1.6.1.jarフォルダの下に置いた しかし、しないでください[bundleresource://217.fwk37356669: – aliplane

+0

私はその質問[ここ](http: //stackoverflow.com/questions/22293550/websphere-multiple-slf4j-logback-bindings-workaround)。その質問を再開して申し訳ありませんが、まったく同じ問題に直面しています! – elTomato

答えて

13

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

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

申し訳ありませんが、設定が見つかった場所(私がwebsphereで最後に作業した数年)について詳しくは言えません。

+0

ありがとう!これはまさに私が疑ったものです。 – asgs

0

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

関連する問題