2016-07-26 4 views
1

임 가진 오류는 말한다 java.lang.NoClassDefFoundError가 : 조직/아파치/공리/OM/OMNode 내 자바 웹 응용 프로그램에서java.lang.NoClassDefFoundError가 : 조직/아파치/공리/OM/OMNode

. 그런데 wso2 데이터 서비스에서 dataservice를 호출하기 위해 서블릿을 구현했습니다.

다음은 전체 스택 추적입니다 :

유형의 예외 보고서

설명 서버는이를 처리하지 못하도록하는 내부 오류가 발생 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) 

당신은 제발 도와주세요 감사합니다! 이걸로 힘들어하고있는 임 ..

+0

JVM이 OMNode 클래스를 찾을 수없는 것 같습니다. OMNode 라이브러리가 서버의 클래스 경로에 설정되어 있습니까? OMNode jar 파일이 있습니까? https://ws.apache.org/axiom/userguide/ch02.html "위의 방법으로 Axiom 바이너리를 얻은 후에 Axiom 기반 프로그램이 작동하려면 클래스 패스에 포함시켜야합니다. 이 가이드의 다음 섹션에서는이 빌드 단계가 완료되었으며 axiom-api-1.2.19.jar 및 axiom-impl-1.2.19.jar가 StAX API jar 파일 및 StAX 구현과 함께 클래스 경로에 있다고 가정합니다. " – Yan

+0

본 적이 있습니까? http://stackoverflow.com/questions/3489084/java-webservice-noclassdeffounderror –

답변

0

웹 응용 프로그램에서이 클래스를 쉽게 사용할 수있게 만드는 방법은 axiom.jar 파일을 WEB-INF/lib 폴더에 저장하는 것입니다.

+0

도움이됩니다! :) @MaVRoSCy –

0

apache 공리 라이브러리가 클래스 경로에 없습니다. Maven을 사용하는 경우, 귀하의 pom.xml에 있는지 확인하십시오. 그것이 있으면 런타임 범위가 <scope>runtime</scope>인지 확인하십시오.

관련 문제