2012-07-16 4 views
0

EC2 서버에서 내 .wadl 파일에 액세스하려고 할 때이 오류가 계속 발생합니다 (Elastic Beanstalk을 사용하여 배포 됨). 어떤 아이디어가 어떤 의미인지/어떻게 고쳐야할까요?Java REST 응용 프로그램의 HTTP 상태 500

이 요청을 이행하지 형 예외 보고서

메시지

설명 서버가 내부 에러가 발생().

예외

javax.servlet.ServletException: Servlet.init() for servlet ServletAdaptor threw exception 
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472) 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98) 
org.apache.catalina.valves.RemoteIpValve.invoke(RemoteIpValve.java:680) 
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:928) 
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407) 
org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:987) 
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:539) 
org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:298) 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) 
java.lang.Thread.run(Thread.java:636) 

root cause 

java.lang.NoClassDefFoundError: javax/persistence/criteria/Expression 
java.lang.Class.getDeclaredConstructors0(Native Method) 
java.lang.Class.privateGetDeclaredConstructors(Class.java:2406) 
java.lang.Class.getConstructors(Class.java:1476) 
com.sun.jersey.server.impl.modelapi.annotation.IntrospectionModeller.createResource(IntrospectionModeller.java:111) 
com.sun.jersey.server.impl.application.WebApplicationImpl.getAbstractResource(WebApplicationImpl.java:745) 
com.sun.jersey.server.impl.application.WebApplicationImpl.createAbstractResourceModelStructures(WebApplicationImpl.java:1522) 
com.sun.jersey.server.impl.application.WebApplicationImpl._initiate(WebApplicationImpl.java:1295) 
com.sun.jersey.server.impl.application.WebApplicationImpl.access$700(WebApplicationImpl.java:169) 
com.sun.jersey.server.impl.application.WebApplicationImpl$13.f(WebApplicationImpl.java:775) 
com.sun.jersey.server.impl.application.WebApplicationImpl$13.f(WebApplicationImpl.java:771) 
com.sun.jersey.spi.inject.Errors.processWithErrors(Errors.java:193) 
com.sun.jersey.server.impl.application.WebApplicationImpl.initiate(WebApplicationImpl.java:771) 
com.sun.jersey.server.impl.application.WebApplicationImpl.initiate(WebApplicationImpl.java:766) 
com.sun.jersey.spi.container.servlet.ServletContainer.initiate(ServletContainer.java:488) 
com.sun.jersey.spi.container.servlet.ServletContainer$InternalWebComponent.initiate(ServletContainer.java:318) 
com.sun.jersey.spi.container.servlet.WebComponent.load(WebComponent.java:609) 
com.sun.jersey.spi.container.servlet.WebComponent.init(WebComponent.java:210) 
com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer.java:373) 
com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer.java:556) 
javax.servlet.GenericServlet.init(GenericServlet.java:160) 
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472) 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98) 
org.apache.catalina.valves.RemoteIpValve.invoke(RemoteIpValve.java:680) 
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:928) 
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407) 
org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:987) 
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:539) 
org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:298) 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) 
java.lang.Thread.run(Thread.java:636) 
root cause 

java.lang.ClassNotFoundException: javax.persistence.criteria.Expression 
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1688) 
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1533) 
java.lang.Class.getDeclaredConstructors0(Native Method) 
java.lang.Class.privateGetDeclaredConstructors(Class.java:2406) 
java.lang.Class.getConstructors(Class.java:1476) 
com.sun.jersey.server.impl.modelapi.annotation.IntrospectionModeller.createResource(IntrospectionModeller.java:111) 
com.sun.jersey.server.impl.application.WebApplicationImpl.getAbstractResource(WebApplicationImpl.java:745) 
com.sun.jersey.server.impl.application.WebApplicationImpl.createAbstractResourceModelStructures(WebApplicationImpl.java:1522) 
com.sun.jersey.server.impl.application.WebApplicationImpl._initiate(WebApplicationImpl.java:1295) 
com.sun.jersey.server.impl.application.WebApplicationImpl.access$700(WebApplicationImpl.java:169) 
com.sun.jersey.server.impl.application.WebApplicationImpl$13.f(WebApplicationImpl.java:775) 
com.sun.jersey.server.impl.application.WebApplicationImpl$13.f(WebApplicationImpl.java:771) 
com.sun.jersey.spi.inject.Errors.processWithErrors(Errors.java:193) 
com.sun.jersey.server.impl.application.WebApplicationImpl.initiate(WebApplicationImpl.java:771) 
com.sun.jersey.server.impl.application.WebApplicationImpl.initiate(WebApplicationImpl.java:766) 
com.sun.jersey.spi.container.servlet.ServletContainer.initiate(ServletContainer.java:488) 
    com.sun.jersey.spi.container.servlet.ServletContainer$InternalWebComponent.initiate(ServletContainer.java:318) 
com.sun.jersey.spi.container.servlet.WebComponent.load(WebComponent.java:609) 
com.sun.jersey.spi.container.servlet.WebComponent.init(WebComponent.java:210) 
com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer.java:373) 
com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer.java:556) 
javax.servlet.GenericServlet.init(GenericServlet.java:160) 
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472) 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98) 
org.apache.catalina.valves.RemoteIpValve.invoke(RemoteIpValve.java:680) 
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:928) 
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407) 
org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:987) 
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:539) 
org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:298) 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) 
java.lang.Thread.run(Thread.java:636) 

참고 근본 원인의 전체 스택 추적은 아파치 톰캣/7.0.23 로그에서 사용할 수 있습니다.

+0

jpa jar가 클래스 경로에없는 것처럼 보입니다. 그것은 "persistence-api.jar"라고 불릴 수 있습니다. WEB-INF/lib에 어떤 항아리를 포함합니까? –

+0

코드에서 확인되지 않은 Java 예외가있을 때 저지는 대개 500 상태를 throw합니다. 이 경우 ClassNotFoundException이 발생합니다. – smcg

답변

0

오류 코드 500은 일반적으로 서버에 오류가있을 때 throw됩니다.
은 캐치되지 않은 예외입니다. 당신은 아마 코드에서 JPA를 사용하고

java.lang.ClassNotFoundException: javax.persistence.criteria.Expression org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1688) org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:153 

하지만, JPA 단지 당신의 WEB-INF/lib에 없습니다 :이 로그의이 부분을 참조하십시오 경우와 같이
나는이 예제를 언급 예배 규칙서.
웹 애플리케이션 구조, 수정 및 재배포를 확인하십시오.

관련 문제