【问题标题】:Keep getting 'java.lang.NoSuchMethodError: org.jboss.logging.Logger.getMessageLogger(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Object'不断收到'java.lang.NoSuchMethodError: org.jboss.logging.Logger.getMessageLogger(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Object'
【发布时间】:2016-05-07 16:00:46
【问题描述】:

我不断得到

'java.lang.NoSuchMethodError: org.jboss.logging.Logger.getMessageLogger(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Object' 

尝试实例化 Hibernate StandardServiceRegistryBuilder 时。我阅读了与此问题相关的其他几篇文章,但没有一篇有帮助。

大多数答案是指使用多个 JBoss JAR,但我的项目仅使用 Hibernate 4.3 所需的那些 -> [我的项目的 .jar 引用]。

我没有看到任何冲突的 JAR 引用,我尝试单独删除所有 JBoss JAR,但每次都会抛出相同的错误。我没有在我的项目中使用任何其他与 JBoss 相关的代码。另外,我没有在这个项目中使用 Maven,所以请不要提供与 Maven 相关的答案(我找到的大多数答案都是 Maven 特定的)。

谢谢!

【问题讨论】:

  • 我还尝试添加 JBoss Common Core .jar 以查看是否有帮助。仍然得到完全相同的错误。
  • 我还在 Eclipse 中创建了一个新的 HibernateTest 项目,并准确地设置了 Hibernate 在这个项目中的使用方式。测试项目工作正常,所以它必须是这个项目非常具体的东西。我想知道是不是 Log4J 的问题,所以我在测试项目中实现了 Log4J,它没有影响任何东西。

标签: hibernate jboss dependencies


【解决方案1】:

我通过将${JBOSS_HOME}\modules\org\jboss\logging\main\jboss-logging-<version>.jar 替换为最新的来解决此问题。你可以下载它here。另外,别忘了更新相关的module.xml

【讨论】: