0

我在struts 1.2.7和liferay 6.0.6中开发应用程序我正在使用hibernate3,hibernate-annotations jar文件,当我在jBOSS中部署war文件时,它给了我这个错误NoClassDefFound org/slf4j/impl/staticloggerbinder,删除这个错误我将 slf4j-log4j12 从 [LIFERAY_HOME]\jboss-5.1.0\server\default\deploy\ROOT.war\WEB-INF\lib 复制到我的

server defualt lib 即[LIFERAY_HOME]\jboss-5.1.0\server\default\lib然后错误被删除,但其他一些错误,即类路径包含多个 SLF4J 绑定 ,两个位置是 1)[LIFERAY_HOME]\jboss-5.1.0 \server\default\deploy\ROOT.war\WEB-INF\lib 2) [LIFERAY_HOME]\jboss-5.1.0\server\default\lib

现在真的很困惑,这是怎么回事。这是什么错误 NoClassDefFound org/slf4j/impl/staticloggerbinder 我在 google 上搜索,但它与 hibernate3 相关的错误我担心的是如何删除这个错误以及这个类的 staticloggerbinder 是它重新进入休眠状态或其他什么

4

1 回答 1

0

您会收到此错误,因为 log4j 是从两个不同的类加载器加载的,从 ROOT (Liferay) 和共享类加载器 (\server\default\lib)。您有两种替代解决方案:

  1. 将 slf4j-logXXX.jar & log4j.jar 从 ROOT/.../lib 移动到共享类加载器 ( \server\default\lib)
  2. 设置环境变量log4j.ignore.TCL=true(忽略类加载器)
于 2012-07-15T22:02:31.397 回答