2016-03-22 4 views
2

Я построил разделенную библиотеку rest-model и когда трикотаж выполняет пакеты конфигурации ресурсов, кажется, не работает, и он будет отвечать Запрошенный ресурс недоступен.JAX-RS с Джерси 2.22.2 + Tomcat 7.0.59: Запрошенный ресурс недоступен

Я использовал: Джерси 2.22.2 и Tomcat 7.0.59

И, пожалуйста, найти подробную информацию ниже:

rest-model.jar (file) 
    > com.company.rest.domain.* (package) 
    > TestData.class (file) 
     > @XmlRootElement 
     > class TestData { 
     > private String str ; 
     > public TestData() {} 
     > public TestData(String str) { setStr(str); } 
     > public String getStr() { return str ; } 
     > public void setStr(String str) { this.str = str ; } 
     > } 
    > com.company.rest.service.* (package) 
    > TestService.class (file) 
     > @Path("/test") 
     > @Produces({MediaType.APPLICATION_JSON}) 
     > class TestService { 
     > @GET public TestData test() { 
     >  return new TestData("test") ; 
     > } 
     > } 

Tomcat with classpath to file rest-model.jar 
WebRoot (folder) 
    > WEB-INF (folder) 
    > web.xml (file) 
     <servlet> 
     <servlet-name>RestApp</servlet-name> 
     <servlet-class> 
      org.glassfish.jersey.servlet.ServletContainer 
     </servlet-class> 
     <init-param> 
      <param-name> 
      com.sun.jersey.config.property.packages 
      </param-name> 
      <param-value> 
      com.company.rest.service 
      </param-value> 
     </init-param> 
     </servlet> 
     <servlet-mapping> 
     <servlet-name>RestApp</servlet-name> 
     <url-pattern>/rest/*</url-pattern> 
     </servlet-mapping> 
+0

Попробуйте заменить ваш сервлет-класс 'com.sun.jersey.spi.container.servlet.ServletContainer'. – nnunes10

ответ

0

Если перейти в папку TOMCAT, в частности, файл конфигурации конф/server.xml, выглядит ли тег внизу, как вы ожидаете? Возможно, вы просто запрашиваете неверный URL-адрес (отсутствует базовый путь) - посмотрите, что сообщает файл server.xml о пути к вашему веб-приложению.

В Eclipse у вас будет панель сервера с двумя дополнительными панелями: обзор и модули. Модули показывают ваше веб-приложение и базовые пути.

1

Исходный параметр, используемый для сканирования пакетов, неверен.

Для Джерси 2.xx, вам необходимо настроить его как:

<init-param> 
    <param-name>jersey.config.server.provider.packages</param-name> 
    <param-value>com.company.rest.service</param-value> 
</init-param> 
Смежные вопросы