Джерси в среде Tomcat + Spring не может найти ComponentProvider. Зачем? - PullRequest
3 голосов
/ 20 апреля 2009

Я развернул Джерси на Tomcat, и все работает отлично (когда я использую com.sun.jersey.spi.container.servlet.ServletContainer), но как только я изменяю его на com.sun.jersey.spi .spring.container.servlet.SpringServlet (согласно всем учебникам, которые я могу найти), я получаю неприятное исключение:

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

Есть идеи, какой пакет / дистрибутив может находиться? Чего мне не хватает?

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

Спасибо.

1 Ответ

1 голос
/ 20 апреля 2009

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

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

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

<listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...