2013-06-09 2 views
0

я получил Startup кот за исключением этогоTomcat Запустите ошибку в веб-службы RESTful с использованием Джерси

SEVERE: Servlet /WebServiceModule threw load() exception 
java.lang.ClassNotFoundException: com.sun.jersey.spi.container.servlet.ServletContainer 

После того, как исключение запуска и кот работает нормально, но он не работает, как ожидалось.

Я включил следующий джерси и его зависимость в пути компоновки Java

jersey-bundle-1.17 
jaxb-imp-2.2.4 
jaxb-api-2.2.9 
asm-3.1 

В джерси комплектации библиотеки com.sun.jersey.spi.container.servlet существует и есть файл ServletContainer.class. Я использую сервер tomcat 7.0, и вся работа выполняется в eclipse.

ответ

1

«com.sun.jersey.spi.container.servlet.ServletContainer» включен в «jersey-server.jar». Убедитесь, что у вас есть это в вашем пути зависимости. Если вы используете maven, то используйте это:

<dependency> 
     <groupId>com.sun.jersey</groupId> 
     <artifactId>jersey-server</artifactId> 
     <version>1.8</version> 
    </dependency> 
+0

я включил джерси сверток. Это не включает все jersey-server-api, клиент и core api ?? –

+0

спасибо. Файлы jersey-server.jar необходимы. Может быть, tomcat search serveletcontainer в файле jersey-server-jar не является комплектом jersey-bundle. –

0

Какой строительный инструмент вы используете? Maven? Построить с помощью IDE? Удостоверьтесь, что все библиотеки деплоируются с помощью/внутри вашей войны! Каждый раз, когда я получал это исключение, добавление недостающей библиотеки в файл War решило проблему.

Если вы строите свою IDE, вам, безусловно, необходимо сначала сообщить, какие пакеты будут включены в развернутую WAR.

0

com.sun.jersey.spi.container.servlet.ServletContainer Включено в jersey-server.jar, а не jersey-core.jar. Чтобы создать службу REST с Джерси, вам просто нужно включить jersey-server.jar, и она автоматически загрузит зависимость jersey-core.jar. Только добавить зависимость в pom.xml, как показано ниже:

<dependency> 
    <groupId>com.sun.jersey</groupId> 
    <artifactId>jersey-server</artifactId> 
    <version>1.8</version> 
</dependency> 

Теперь ваше приложение будет иметь класс com.sun.jersey.spi.container.servlet.ServletContainer

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