当我尝试在Websphere 7.0上部署应用程序时,我在控制台上收到错误消息
<00> 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:创建名为&#39; processEngine&#39;的bean时出错。在ServletContext资源中定义
[/ 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正在类路径中使用。
答案 0 :(得分:2)
您应该将应用程序的类加载策略切换为“parent last”。然后将使用与您的应用程序捆绑在一起的log4j版本。有关详细信息,请参阅Class loader settings。