2012-01-10 4 views
1

내 앱에서 REST 웹 서비스가 작동하도록하려고합니다. Spring 2.5와 저지를 사용하고 있습니다. 웹 서비스의 엔드 포인트는 enunciate 1.9로 생성됩니다. 나는 톰캣으로 생성 된 war 파일을 배포하고 나는 다음과 같은 예외를 얻을 REST의 웹 서비스에 액세스 할 때 :저지 REST 웹 서비스에 액세스하는 중 예외가 발생했습니다.

javax.servlet.ServletException: Servlet.init() for servlet jersey threw exception 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) 
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:291) 
org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:877) 
org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:594) 
org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1675) 
java.lang.Thread.run(Thread.java:662) 

근본 원인 :

java.lang.NoSuchMethodError: org.objectweb.asm.ClassReader.accept(Lorg/objectweb/asm/ClassVisitor;I)V 
com.sun.jersey.impl.container.config.AnnotatedClassScanner.analyzeClassFile(AnnotatedClassScanner.java:267) 
com.sun.jersey.impl.container.config.AnnotatedClassScanner.indexJar(AnnotatedClassScanner.java:229) 
com.sun.jersey.impl.container.config.AnnotatedClassScanner.indexJar(AnnotatedClassScanner.java:218) 
com.sun.jersey.impl.container.config.AnnotatedClassScanner.indexDir(AnnotatedClassScanner.java:210) 
com.sun.jersey.impl.container.config.AnnotatedClassScanner.index(AnnotatedClassScanner.java:169) 
com.sun.jersey.impl.container.config.AnnotatedClassScanner.scan(AnnotatedClassScanner.java:105) 
com.sun.jersey.api.core.ClasspathResourceConfig.init(ClasspathResourceConfig.java:131) 
com.sun.jersey.api.core.ClasspathResourceConfig.<init>(ClasspathResourceConfig.java:103) 
com.sun.jersey.api.core.ClasspathResourceConfig.<init>(ClasspathResourceConfig.java:85) 
com.sun.jersey.spi.container.servlet.ServletContainer.createResourceConfig(ServletContainer.java:395) 
com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer.java:194) 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) 
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:291) 
org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:877) 
org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:594) 
org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1675) 
java.lang.Thread.run(Thread.java:662) 

주의가 근본 원인의 전체 스택 추적이 가능합니다 Apache Tomcat/6.0.33 로그. 나머지 서블릿 부분에 대한

web.xml은 다음과 같습니다

<servlet> 
<servlet-name>jersey</servlet-name> 
<servlet-class>org.codehaus.enunciate.modules.jersey.EnunciateSpringServlet</servlet-class> 
<init-param> 
    <param-name>org.codehaus.enunciate.modules.jersey.config.ServletPath</param-name> 
    <param-value>/rest</param-value> 

</init-param> 

내가 구성 여기에 해결해야 할 일이 그 문제를 해결할 수 있나요?

답변

1

java.lang.NoSuchMethodError : org.objectweb.asm.ClassReader.accept (LORG/오브젝트 웹/ASM/ClassVisitor; I) V com.sun.jersey.impl.container.config.AnnotatedClassScanner.analyzeClassFile (AnnotatedClassScanner.java : 267)

클래스 경로에있는 저비용 저널이 필요합니까?

2

java.lang.NoSuchMethodError: 당신은 클래스/항아리의 잘못된 버전이있는 경우 클래스 경로에 파일 (최신 버전/이전 버전 일 수) 발생 확인하려고합니다. 클래스 패스에있는 jar 파일이 지원되는 버전인지 확인하십시오.

0

이것은 빌드 경로에 중복 된 jar 때문일 수도 있습니다. Maven을 사용하고 있다면, 당신은 의존성을 제안한다. 또한 .classpath 파일을 열고 빌드 경로 문제를 확인하십시오.

관련 문제