错误“java.lang.NoSuchMethodError:org.jboss.logging.Logger.getMessageLogger”

时间:2012-06-01 07:29:10

标签: java hibernate logging jboss nosuchmethoderror

我正在尝试使用spring + hibernate构建1个混合测试项目。部署后...我对这个错误感到沮丧..并在谷歌搜索但仍未使其正常工作......

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)

尝试使用jboss-logger 3.1.0.CR2,以及各种不同的jboss-logging,不同的版本。

如何解决?

下面是附加的图片,看看是否存在任何版本的并发或缺少任何依赖... Library structure for project

5 个答案:

答案 0 :(得分:9)

我通过删除jboss-common-client-3.2.3.jar解决了这个问题。

答案 1 :(得分:6)

Springframework 4.1.3 Final需要org.jboss.logging-3.1.0.GA遇到同样的问题。

我的解决方案是排除来自Hibernate的org.jboss.logging并将org.jboss.logging-3.2.0.Final添加到pom.xml中的项目中。 指定here org.jboss.logging-3.1.0.GA(和CR2)在LoggerProviders检测中失败,并在3.2.0 Final Voir le Github de Jboss Logging

中修复

答案 2 :(得分:3)

它是否是客户端类路径上不正确的JBoss Logging jar版本?如果您有JBoss 7.1.0 Final版本,则从类路径中删除所有JAR文件,并仅添加一个位于AS7_HOME / bin / client中的客户端JAR文件(jboss-client-7.1.0.Final.jar)。

如需进一步参考,您可以看到this

答案 3 :(得分:0)

我遇到了同样的问题。我从buildpath中删除了glassfish库,并解决了问题。

答案 4 :(得分:0)

我在使用 jboss-4.2.3GA 时遇到了同样的问题。

发生这种情况是因为在 [JBOSS_HOME]\lib 文件夹中有一个 jboss-common.jar 库,它也有一个 org.jboss.logging.Logger 类,这是考虑到这一点。

我的解决方案是将 jboss-logging-3.3.0.Final.jar 库添加到 [JBOSS_HOME]\lib\endorsed 文件夹并考虑到启动服务器时,它有选项 -Djava.endorsed.dirs = [JBOSS_HOME]\lib\endorsed

此后,它开始显示来自 java.lang.NoSuchMethodError: org.jboss.logging.Logger.getLoggerPlugin()Lorg 的警告 /jboss/logging/LoggerPlugin;

...但那是另一回事。