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

Posted

技术标签:

【中文标题】错误“java.lang.NoSuchMethodError:org.jboss.logging.Logger.getMessageLogger”【英文标题】:Error "java.lang.NoSuchMethodError: org.jboss.logging.Logger.getMessageLogger" 【发布时间】:2012-06-06 10:52:26 【问题描述】:

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

如何解决?

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

【问题讨论】:

community.jboss.org/message/604269 谢谢@KazekageGaara,但他们使用的是maven shade,我不想去为maven做设置,即使我不会使用maven,我也经历过这个解决方案但是......没用..如果你能告诉我更多的想法,那就太好了...... :) 非常感谢 【参考方案1】:

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

【讨论】:

与 "jboss-common-core" "2.2.17.GA" 有同样的问题,为 "org.jboss.logging" "jboss-logging-spi" 添加了排除项【参考方案2】:

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 项目中。 如指定 hereorg.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 最终版本,则从类路径中删除所有 JAR 文件并仅添加一个位于 AS7_HOME/bin/client 中的客户端 JAR 文件 (jboss-client-7.1.0.Final.jar)。

更多参考可以看this。

【讨论】:

我使用的是tomcat而不是jboss。你认为这还有帮助吗? 应该的。如果您不想冒险,请创建一个新项目以更安全。 检查你的类路径。它必须是加载不同版本的 JBoss Logging。 我已经解决了这个问题……通过将 1 x 1 的 jar 文件放入并检查哪些是造成问题的方法。无论如何,将其视为已接受。没有其他人尝试过。 :) 谢谢【参考方案4】:

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

【讨论】:

【参考方案5】:

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;

...不过那是另一回事了。

【讨论】:

以上是关于错误“java.lang.NoSuchMethodError:org.jboss.logging.Logger.getMessageLogger”的主要内容,如果未能解决你的问题,请参考以下文章

远程服务器返回错误: 404错误远程服务器返回错误:500错误 HttpWebResponse远程服务器返回错误:(404500) 错误。

Pig 安装错误:错误 pig.Main:错误 2998:未处理的内部错误

Informix 错误:发生了语法错误。错误代码:-201

我收到一个错误:“MetaMask - RPC 错误:错误:错误:[ethjs-rpc] rpc 错误与有效负载”

错误精灵错误跟踪器错误

网页打开显示错误500是啥意思