2013-07-02 269 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

相关问题