13

我正在尝试使用 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,不同的版本。

如何解决?

下面是附加的图像,以查看是否存在任何版本并发或缺少任何依赖项... 项目的库结构

4

5 回答 5

10

我通过删除解决了它jboss-common-client-3.2.3.jar

于 2013-01-01T12:57:42.967 回答
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中修复

于 2015-01-08T14:10:44.203 回答
3

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

如需进一步参考,您可以查看内容。

于 2012-06-01T08:02:35.697 回答
0

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

于 2017-04-24T08:56:50.730 回答
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;

……但那是另一回事。

于 2021-05-14T15:00:10.883 回答