2013-07-02 182 views
1

當我試圖部署在WebSphere 7.0我得到控制檯錯誤消息的應用程序SLF4J錯誤:這SLF4J的版本需要log4j的版本1.2.12或更高版本

0000000D SystemErr [R SLF4J:這SLF4J的版本要求log4j版本1.2.12或更高版本。也參見http://www.slf4j.org/codes.html#log4j_version

此外,當彈簧內部調用log4j的API,將發生以下錯誤:

0000000D web應用Ëcom.ibm.ws.webcontainer.webapp.WebApp notifyServletContextCreated SRVE0283E:捕獲到異常而初始化上下文:{0} org.springframework.beans.factory.BeanCreationException:在ServletContext資源中定義的名稱爲'processEngine'的Bean時出錯Error

[/WEB-INF/spring_config/jbpm_applicationContext.xml]:bean實例化失敗;

嵌套的異常是org.springframework.beans.factory.BeanDefinitionStoreException: 工廠方法[公共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正在類路徑中使用。

+0

要麼你有一個錯誤版本的log4j或者你的類路徑上有多個log4j:http://forum.springsource.org/showthread.php?69777-NoSuchMethodError-for-org-apache-log4j-Logger-日誌 –

+0

版本是正確的,我檢查了classpath中沒有其他log4j jar。 –

回答

2

您應該將您的應用程序的類加載策略切換爲「父親最後」。然後將使用與您的應用程序捆綁在一起的log4j版本。詳情請參閱Class loader settings

相關問題