2009-04-19 4 views
3

저는 Jersey를 Tomcat에 배포했으며 모든 것이 완벽하게 작동합니다 (com.sun.jersey.spi.container.servlet.ServletContainer를 사용할 때). com.sun.jersey.spi로 변경하자 마자 완료됩니다. 이 상주 할 수있는 패키지/유통Tomcat + Spring 환경에서 저지가 ComponentProvider를 찾을 수 없습니다. 왜?

Apr 19, 2009 5:07:35 PM org.apache.catalina.core.ApplicationContext log 
INFO: Marking servlet ServletAdaptor as unavailable 
Apr 19, 2009 5:07:35 PM org.apache.catalina.core.StandardContext loadOnStartup 
SEVERE: Servlet /myservice threw load() exception 
java.lang.ClassNotFoundException: com.sun.jersey.spi.service.ComponentProvider 

어떤 생각 : spring.container.servlet.SpringServlet (내가 찾을 수있는 모든 튜토리얼에 따라), 나는 불쾌한 예외가? 내가 뭘 놓치고 있니?

전혀 필요하지 않을 수도 있습니다. 내 리소스 클래스가로드 될 때 Autowired가 될 것이며 나머지 Bean과 함께 초기화 될 것입니다. 다르게 할 수 있습니까?

감사합니다.

답변

1

com.sun.jersey.spi.service.ComponentProvider 인터페이스는 jersey-core JAR의 일부이므로 예외가 발생한다는 것은 이상한 일입니다.

동일한 버전의 저지 라이브러리를 함께 사용하고 있는지 확인하십시오 (예 : Jersey 1.0.1 라이브러리를 사용하며 1.0과 1.0.1을 섞지 않고 스프링 클래스가 두 릴리스간에 이름이 바뀜).

또한 당신과 같이 당신의 web.xml에서의 ContextLoaderListener을 확인하십시오

<listener> 
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> 
</listener> 
+0

나는 모든 충돌 버전의 JAR 파일을 제거하고 1.0.3에서만 다시 추가 한 - 예외가 사라졌다. 마찬가지로 JSON 기능도 최소한으로 줄었지만 별도의 문제입니다. – IgorM

+1

저지에서 최근 JSON 지원이 변경되었습니다. JSON 지원을 위해 Jackson을 사용하고 필수 라이브러리가 있도록 구성되었는지 확인하십시오. – deverton

+0

혼란을 가중시키는 것은 당신이 com/sun/jersey의 Jersey Maven 저장소를 살펴보면 1.0에서 Spring jar가 있지만 com/sun/jersey/contribs 아래에서 일치하는 버전 (예 : my 케이스 1.5 - 모든 병을 위해 - 중핵, 서버 & 봄) – Damo

관련 문제