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

问题描述 投票:0回答:6

我正在尝试使用 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

java hibernate logging jboss nosuchmethoderror
6个回答
10
投票

我通过删除

jboss-common-client-3.2.3.jar
解决了这个问题。


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 中。 如此处指定,org.jboss.logging-3.1.0.GA(和 CR2)在 LoggerProviders 检测中出现故障,并在 3.2.0 Final Voir le Github de Jboss Logging

中修复

3
投票

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

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


0
投票

我也遇到了同样的问题。我从构建路径中删除了 glassfish 库,问题得到解决。


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 ndorsed 文件夹,并考虑到启动服务器时它有选项

-Djava.endorsed.dirs = [JBOSS_HOME]\lib\endorsed

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

...但那是另一回事了。


0
投票

有同样的问题,但我的解决方案是:

mvn dependency:tree

然后检查所有依赖项的 jboss-logging 版本,并排除版本号不同的版本。

© www.soinside.com 2019 - 2024. All rights reserved.