Hibernate NoClassDefFound org/slf4j/impl/staticloggerbinder

Hibernate NoClassDefFound org/slf4j/impl/staticloggerbinder,hibernate,noclassdeffounderror,Hibernate,Noclassdeffounderror,iam在struts 1.2.7和liferay 6.0.6中开发应用程序我正在使用hibernate3,hibernate注释jar文件,当我在jBOSS中部署war文件时,它给了我这个错误NoClassDefFound org/slf4j/impl/staticloggerbinder,为了消除这个错误,我从[liferay_HOME]复制了SLF4j12\jboss-5.1.0\server\default\deploy\ROOT.war\WEB-INF\lib到我的 server def

iam在struts 1.2.7和liferay 6.0.6中开发应用程序我正在使用hibernate3,hibernate注释jar文件,当我在jBOSS中部署war文件时,它给了我这个错误NoClassDefFound org/slf4j/impl/staticloggerbinder,为了消除这个错误,我从[liferay_HOME]复制了SLF4j12\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\u HOME]\jboss-5.1.0\server\default\deploy\ROOT.war\WEB-INF\lib 2) [LIFERAY\u HOME]\jboss-5.1.0\server\default\lib


现在真的很困惑到底发生了什么。这个错误是什么?NoClassDefFound org/slf4j/impl/staticloggerbinder我在google上搜索过,但它的hibernate3相关错误我关心的是,如何删除这个错误以及staticloggerbinder这个类所做的是将它实现为hibernate或其他什么

你会遇到这个错误,因为log4j是从两个不同的类加载的加载程序,来自根(Liferay)和共享类加载程序(\server\default\lib)。您有两种备选解决方案:

  • 将slf4j-logXXX.jar和log4j.jar从ROOT/../lib移动到共享类加载器(
    \server\default\lib
  • 设置环境变量
    log4j.ignore.TCL=true
    (忽略类加载器)