【问题标题】: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;
【发布时间】: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 的新手:

  1. 2014 年 10 月 30 日下午 3:53:30 org.apache.catalina.loader.WebappClassLoader validateJarFile>
  2. 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>
  3. 2014 年 10 月 30 日下午 3:53:30 org.apache.catalina.loader.WebappClassLoader validateJarFile>
  4. 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>
  5. 2014 年 10 月 30 日下午 3:53:30 org.apache.catalina.loader.WebappClassLoader validateJarFile
  6. 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>
  7. 2014 年 10 月 30 日下午 3:53:30 org.apache.catalina.loader.WebappClassLoader validateJarFile
  8. 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
  9. 2014 年 10 月 30 日下午 3:53:30 org.apache.catalina.loader.WebappClassLoader validateJarFile
  10. 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
  11. 2014 年 10 月 30 日下午 3:53:30 org.apache.catalina.loader.WebappClassLoader validateJarFile
  12. 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

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

我使用的是 Tomcat 7.0。

【问题讨论】:

    标签: java eclipse maven tomcat dependencies


    【解决方案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

      【讨论】: