2009-04-19 2 views
3

Я развернул Джерси на Tomcat, и все работает отлично (когда я использую com.sun.jersey.spi.container.servlet.ServletContainer), но как только я изменю его на com.sun.jersey.spi. spring.container.servlet.SpringServlet (по всем учебникам я могу найти), я получаю неприятное исключение:Джерси в Tomcat + Весенняя среда не может найти 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 

Любой идею, что пакет/распределения может находиться? Что мне не хватает?

Может быть, мне это совсем не нужно. Я пытаюсь убедиться, что когда мой класс ресурсов будет загружен, он будет Autowired и инициализирован остальной частью Beans, от которой это зависит. Это можно сделать по-другому?

Спасибо.

ответ

1

Интерфейс com.sun.jersey.spi.service.ComponentProvider является частью JAR-ядра JAR, поэтому странно, что вы получаете это исключение.

Убедитесь, что вы используете одну и ту же версию джерси-библиотек (т. Е. Используете библиотеки Джерси 1.0.1, а не смешивания 1.0 и 1.0.1, поскольку классы Spring переименованы между этими двумя версиями).

Также убедитесь, у вас есть ContextLoaderListener в вашем web.xml так:

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

Я удалил все конфликтующие версии JARs и readded только от 1.0.3 - исключение исчезло. Кроме того, моя функциональность JSON была уменьшена до минимума, но, я думаю, это отдельная проблема. – IgorM

+1

Поддержка JSON недавно изменилась на Джерси. Убедитесь, что вы настроены на использование поддержки Jackson для JSON и наличие необходимых библиотек. – deverton

+0

Добавление к путанице заключается в том, что если вы посмотрите на хранилище в Джерси-Мейвене в com/sun/jersey, есть весенняя банка в версии 1.0, однако вам нужно искать в com/sun/jersey/contrib для соответствующей версии (например, в моем case 1.5 для всех банок - Core, Server & Spring) – Damo

Смежные вопросы