hibernate错误“java.lang.NoSuchMethodError:org.jboss.logging.Logger.getMessageLogger”
我正在尝试使用spring+hibernate构建一个混合测试项目。部署后。。。我对这个错误感到沮丧。。并在谷歌上搜索,但仍然没有得到它的工作
Caused by: java.lang.NoSuchMethodError: org.jboss.logging.Logger.getMessageLogger(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Object;
at org.hibernate.annotations.common.util.impl.LoggerFactory.make(LoggerFactory.java:34)
at org.hibernate.annotations.common.Version.<clinit>(Version.java:34)
at org.hibernate.annotations.common.reflection.java.JavaReflectionManager.<clinit>(JavaReflectionManager.java:73)
at org.hibernate.cfg.AnnotationConfiguration.reset(AnnotationConfiguration.java:311)
at org.hibernate.cfg.Configuration.<init>(Configuration.java:216)
at org.hibernate.cfg.Configuration.<init>(Configuration.java:220)
at org.hibernate.cfg.AnnotationConfiguration.<init>(AnnotationConfiguration.java:168)
正在尝试JBossLogger 3.1.0。CR2,以及各种不同的jboss日志,不同的版本
如何解决
下面是附加的图片,以查看是否存在任何版本并发或缺少任何依赖项。。。
# 1 楼答案
我通过删除
jboss-common-client-3.2.3.jar
解决了这个问题# 2 楼答案
客户端类路径上的JBoss日志jar版本是否不正确?如果您有JBoss 7.1.0最终版本,那么从类路径中删除所有JAR文件,只添加一个位于AS7_HOME/bin/client中的客户机JAR文件(JBoss-client-7.1.0.Final.JAR)
如需进一步参考,请参阅this
# 3 楼答案
我对jboss-4.2.3GA有同样的问题
这是因为在[JBOSS\u HOME]\lib文件夹中有一个JBOSS common。jar库也有一个
org.jboss.logging.Logger
类,这是需要考虑的我的解决方案是添加jboss-logging-3.3.0。最终的jar库到[JBOSS_HOME]\lib\endorned文件夹,并考虑到启动服务器时,它有
-Djava.endorsed.dirs = [JBOSS_HOME]\lib\endorsed
选项在此之后,它开始显示来自java的警告。lang.NoSuchMethodError:org。jboss。登录中。记录器。getLoggerPlugin()Lorg/jboss/logging/LoggerPlugin
。。。但那是另一回事
# 4 楼答案
组织也有同样的问题。jboss。日志-3.1.0。Springframework 4.1.3最终版需要GA
我的解决办法是排除org。jboss。来自Hibernate和addorg的日志记录。jboss。日志-3.2.0。我在pom中的项目的最终结果。xml。 如指定here组织。jboss。日志-3.1.0。GA(和CR2)在LoggerProviders检测中失败,并在3.2.0 FinalVoir le Github de Jboss Logging中修复
# 5 楼答案
我也面临同样的问题。我从buildpath中删除了glassfish库,问题得到了解决