【问题标题】:java.lang.NoClassDefFoundError: org/apache/axiom/om/OMNodejava.lang.NoClassDefFoundError: org/apache/axiom/om/OMNode
【发布时间】:2019-10-08 20:03:04
【问题描述】:

我有错误它说 java.lang.NoClassDefFoundError: org/apache/axiom/om/OMNode

在我的 java web 应用程序中。顺便说一下,我实现了 servlet 来调用 wso2 数据服务中的数据服务。

这是完整的堆栈跟踪:

输入异常报告

消息错误实例化 servlet 类 org.wso2.sample.RegisterpatientServlet

描述服务器遇到了一个内部错误,导致它无法完成这个请求。

异常

javax.servlet.ServletException: Error instantiating servlet class org.wso2.sample.RegisterpatientServlet
    org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
    org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:956)
    org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:442)
    org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1082)
    org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:623)
    org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)
    java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    java.lang.Thread.run(Unknown Source)


root cause 

java.lang.NoClassDefFoundError: org/apache/axiom/om/OMNode
    java.lang.Class.getDeclaredConstructors0(Native Method)
    java.lang.Class.privateGetDeclaredConstructors(Unknown Source)
    java.lang.Class.getConstructor0(Unknown Source)
    java.lang.Class.newInstance(Unknown Source)
    org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
    org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:956)
    org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:442)
    org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1082)
    org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:623)
    org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)
    java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    java.lang.Thread.run(Unknown Source)


root cause 

java.lang.ClassNotFoundException: org.apache.axiom.om.OMNode
    org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1891)
    org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1734)
    java.lang.Class.getDeclaredConstructors0(Native Method)
    java.lang.Class.privateGetDeclaredConstructors(Unknown Source)
    java.lang.Class.getConstructor0(Unknown Source)
    java.lang.Class.newInstance(Unknown Source)
    org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
    org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:956)
    org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:442)
    org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1082)
    org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:623)
    org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)
    java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    java.lang.Thread.run(Unknown Source)

谢谢请帮忙!我在这方面很难过..

【问题讨论】:

  • JVM好像找不到OMNode类。 OMNode 库是否设置在服务器上的类路径中?你有 OMNode jar 文件吗?查看ws.apache.org/axiom/userguide/ch02.html“一旦通过上述任何一种方式获得了 Axiom 二进制文件,它就应该包含在类路径中,以使任何基于 Axiom 的程序都能正常工作。本指南的后续部分假定此构建步骤已完成且公理-api-1.2.19.jar 和 axiom-impl-1.2.19.jar 与 StAX API jar 文件和 StAX 实现一起存在于类路径中。”

标签: java servlets wso2dss


【解决方案1】:

使此类可用于您的网络应用程序的一种简单方法是将axiom.jar 文件放入您的WEB-INF/lib 文件夹中。

【讨论】:

  • 它有帮助! :) @MaVRoSCy
【解决方案2】:

apache axiom 库不在您的类路径中。如果您使用 maven,请确保它在您的 pom.xml 中。如果存在,请确保它具有运行时范围:<scope>runtime</scope>

【讨论】:

    【解决方案3】:

    将以下依赖项添加到您的项目中。 (根据需要更改版本)

    https://mvnrepository.com/artifact/org.apache.ws.commons.axiom/axiom-impl/1.2.6
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-03-10
      • 2018-05-24
      • 2012-11-16
      • 2020-08-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多