2010-11-24 5 views
3

온라인으로 검색 한 후 질문이 있는데 답변을 찾을 수 없습니다. 내 웹 응용 프로그램이 tomcat 서버에 배포되었습니다. index.jsp가 텍스트를 표시 할 때 이것이 정상적으로 작동하고 있음을 알고 있습니다. 내가 만든 리소스에 액세스하려고 할 때하지만 세계 Tomcat 서버가Tomcat 서버에서 웹 응용 프로그램 리소스에 액세스 할 때 NoSuchMethodError

java.lang.NoSuchMethodError: com.sun.jersey.core.spi.component.ProviderServices.<init>(Lcom/sun/jersey/core/spi/factory/InjectableProviderFactory;Lcom/sun/jersey/core/spi/component/ProviderFactory;Ljava/util/Set;Ljava/util/Set;)V 
    com.sun.jersey.server.impl.application.WebApplicationImpl.initiate(WebApplicationImpl.java:450) 
    com.sun.jersey.server.impl.application.WebApplicationImpl.initiate(WebApplicationImpl.java:383) 
    com.sun.jersey.spi.container.servlet.ServletContainer.initiate(ServletContainer.java:377) 
    com.sun.jersey.spi.container.servlet.ServletContainer$InternalWebComponent.initiate(ServletContainer.java:242) 
    com.sun.jersey.spi.container.servlet.WebComponent.load(WebComponent.java:449) 
    com.sun.jersey.spi.container.servlet.WebComponent.init(WebComponent.java:169) 
    com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer.java:281) 
    com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer.java:442) 
    javax.servlet.GenericServlet.init(GenericServlet.java:212) 
    org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) 
    org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298) 
    org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:852) 
    org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588) 
    org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489) 
    java.lang.Thread.run(Unknown Source) 

어느 한이 같은 이유가 해결 나에게 도움이 될 것을 무슨 일이 일어나고 어떤 아이디어 나 단서가 있습니까이 메시지를 반환 안녕하세요 인쇄해야 이?

어떤 도움

크게 내 생각 엔 당신의 클래스 경로에 그쪽으로 항아리에 문제가 있다는 것입니다 크리스

+2

WEB-INF/lib에 얼마나 많은 jersey-bundle * jars가 있습니까? – JoseK

+0

ahhhh 웹 inf 안에 내가 이전에 추가하고 havent 폴더에서 청소하고 그 위대한 일한 것 같아 항아리의 하중이 있습니다. 고맙습니다 . 당신은 얼마나 많은 도움이되었는지 깨닫지 못했습니다. D – Chris

답변

3

감사에게 감사. 아마, 당신은 LIB-INF WEB/클래스 패스 나에 저지의 두 가지 버전이 있습니다

+0

저는 Maven을 사용하고 있으며 저의 유일한 종속은 저지 번들입니다. 나는 이클립스에 대한 메이븐 플러그인을 가지고 있고 로컬에 설치된 Maven이 문제와 관련이있다는 가능성이있다. 아마도 두 개의 저장소가 충돌 할 가능성이있다. – Chris

+0

댓글마다 완결성에 대한 대답이 수정되었다. – JoseK

2

당신은 당신의 WEB-INF/lib 폴더

  • 저지 서버-1.3.jar
  • 에 다음 저지 항아리를 포함해야합니다
  • 저지 코어-1.3.jar
  • 저지 클라이언트-1.3.jar
0

내가 ASM-3.1.jar를 believ 이것은 "jersey-server"와 "jersey-core"jar 사이의 버전 차이로 인해 발생합니다 (WEB-INF/lib 폴더에 여러 가지 jar 파일의 중복 버전이 실수로 중복되지 않았는지 다시 한 번 확인하십시오).

내 경우에는 저지 코어 버전 (종속성) 또는 그와 비슷한 버전을 우리 범프에 부딪 혔습니다. 특정 (구형) 저지 서버 버전을 호출하는 동안 불일치 (구 저어지 서버, 뉴저지 코어).

또한

SEVERE: The provider class, class com.sun.jersey.core.impl.provider.xml.XMLStreamReaderContextProvider, could not be instantiated 
Caused by: java.lang.NullPointerException 
     at com.sun.jersey.core.impl.provider.xml.TransformerFactoryProvider.<init>(TransformerFactoryProvider.java:57) 
     ... 44 more 

나는 같은 생각합니다.

관련 문제