java.lang.NoSuchMethodError: org.jboss.logging.Logger.getMessageLogger(Ljava/lang/Class;Ljava/lang/S

Posted

技术标签:

【中文标题】java.lang.NoSuchMethodError: org.jboss.logging.Logger.getMessageLogger(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Object;【英文标题】: 【发布时间】:2014-12-26 16:42:35 【问题描述】:

我正在将 Spring Web 项目转换为 Maven 项目,但出现此错误:

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

除了这个错误,我似乎在依赖方面有很多问题,我正在尝试修复它们,但我是 Maven 的新手:

    2014 年 10 月 30 日下午 3:53:30 org.apache.catalina.loader.WebappClassLoader validateJarFile> INFO: validateJarFile(C:\Users\a\workspace.metadata.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\revista2_local\WEB-INF\lib\el-api-2.2.jar) jar 未加载。请参阅 Servlet 规范 2.3,第 9.7.2 节。违规类:javax/el/Expression.class> 2014 年 10 月 30 日下午 3:53:30 org.apache.catalina.loader.WebappClassLoader validateJarFile> INFO: validateJarFile(C:\Users\a\workspace.metadata.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\revista2_local\WEB-INF\lib\jboss-el-api_2.2_spec- 1.0.0.Final.jar) jar 未加载。请参阅 Servlet 规范 2.3,第 9.7.2 节。违规类:javax/el/Expression.class> 2014 年 10 月 30 日下午 3:53:30 org.apache.catalina.loader.WebappClassLoader validateJarFile INFO: validateJarFile(C:\Users\a\workspace.metadata.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\revista2_local\WEB-INF\lib\jboss-javaee-5.0.0. GA.jar) jar 未加载。请参阅 Servlet 规范 2.3,第 9.7.2 节。违规类:javax/servlet/Servlet.class> 2014 年 10 月 30 日下午 3:53:30 org.apache.catalina.loader.WebappClassLoader validateJarFile INFO: validateJarFile(C:\Users\a\workspace.metadata.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\revista2_local\WEB-INF\lib\jboss-servlet-api_3.0_spec- 1.0.0.Final.jar) jar 未加载。请参阅 Servlet 规范 2.3,第 9.7.2 节。违规类:javax/servlet/Servlet.class 2014 年 10 月 30 日下午 3:53:30 org.apache.catalina.loader.WebappClassLoader validateJarFile INFO: validateJarFile(C:\Users\a\workspace.metadata.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\revista2_local\WEB-INF\lib\jsp-api-2.1.jar) jar 未加载。请参阅 Servlet 规范 2.3,第 9.7.2 节。违规类:javax/el/Expression.class 2014 年 10 月 30 日下午 3:53:30 org.apache.catalina.loader.WebappClassLoader validateJarFile INFO: validateJarFile(C:\Users\a\workspace.metadata.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\revista2_local\WEB-INF\lib\servlet-api-2.5.jar) jar 未加载。请参阅 Servlet 规范 2.3,第 9.7.2 节。违规类:javax/servlet/Servlet.class

(阅读完整输出了解更多详情)

完成输出 -> http://pastebin.com/wKa2fVSP Pom.xml -> http://pastebin.com/sWCidx07 Web.xml -> http://pastebin.com/uk9e4rUy

我使用的是 Tomcat 7.0。

【问题讨论】:

【参考方案1】:

您似乎在两个库中有 org.jboss.logging.Logger 类:

jboss:jboss-common:jar:4.2.2.GA 和 org.jboss.logging:jboss-logging:jar:3.1.3.GA

第二个是hibernate使用的,我认为它是正确的。我认为您需要使用正确的 jboss-common 版本才不会遇到此问题。

相关问题:Error "java.lang.NoSuchMethodError: org.jboss.logging.Logger.getMessageLogger"

【讨论】:

【参考方案2】:

我删除了 jboss-common-3.2.3.jar、commons-logging-1.1.1.jar、commons-lang-2.3.jar 和 commons-collections-3.2.2。然后它对我有用。我在 java 10 中使用了widfly 13

【讨论】:

以上是关于java.lang.NoSuchMethodError: org.jboss.logging.Logger.getMessageLogger(Ljava/lang/Class;Ljava/lang/S的主要内容,如果未能解决你的问题,请参考以下文章