1

アプリケーションを Websphere 7.0 にデプロイしようとすると、コンソールにエラー メッセージが表示されます

0000000d SystemErr R SLF4J: このバージョンの SLF4J には、log4j バージョン 1.2.12 以降が必要です。http://www.slf4j.org/codes.html#log4j_versionも参照してください

さらに、Spring が内部的に log4j api を呼び出すと、次のエラーが発生します。

0000000d webapp E com.ibm.ws.webcontainer.webapp.WebApp notifyServletContextCreated SRVE0283E: コンテキストの初期化中に例外がキャッチされました: {0} org.springframework.beans.factory.BeanCreationException: ServletContext リソースで定義された名前「processEngine」を持つ Bean の作成中にエラーが発生しました

[/WEB-INF/spring_config/jbpm_applicationContext.xml]: Bean のインスタンス化に失敗しました。

ネストされた例外は org.springframework.beans.factory.BeanDefinitionStoreException: ファクトリ メソッド [public org.jbpm.api.ProcessEngine org.jbpm.pvm.internal.processengine.SpringHelper.createProcessEngine()] が例外をスローしました。ネストされた例外は java.lang.NoSuchMethodError: org/apache/log4j/Logger.trace(Ljava/lang/Object;)V です

log4j API を 1.2.16 から 1.2.17 にアップグレードしましたが、それでも同じエラーが発生します。さらに、slf4j-api-1.6.1.jar と slf4j-log4j12-1.6.1.jar がクラスパスで使用されています。

4

1 に答える 1

2

アプリケーションのクラスローディング ポリシーを「parent last」に切り替える必要があります。次に、アプリケーションにバンドルされているバージョンの log4j が使用されます。詳細については、クラスローダーの設定を参照してください。

于 2013-07-02T14:44:18.810 に答える