2016-06-21 1 views
2

Я создал динамический проект Java и добавили эту зависимость:Что мне не хватает, чтобы запустить веб-сервис jersey 2?

<!-- https://mvnrepository.com/artifact/org.glassfish.jersey.containers/jersey-container-servlet-core --> 
     <dependency> 
      <groupId>org.glassfish.jersey.containers</groupId> 
      <artifactId>jersey-container-servlet-core</artifactId> 
      <version>2.23.1</version> 
     </dependency> 

Затем я создал класс App, как это:

@ApplicationPath("/test") 
public class App extends ResourceConfig { 
    public App() { 
     this.packages("com.test.ul"); 
    } 
} 

и в том же пакете, класс App находится, я создал это:

@Path("restaurantAPI") 
public class RestaurantAPI { 

    @Path("/get") 
    @GET 
    public Response getRequest(@PathParam("id") String id) { 
     return Response.ok(id).build(); 
    } 

} 

Я бегу мой сервер, и я называю этот URL:

http://localhost:8080/ULTestServer/test/restaurantAPI/get?id=3 

но я получаю ошибку 404

Что я пропущу, пожалуйста? (Я всегда делаю это, и он привык работать)

ответ

1

Изменение

jersey-container-servlet-core 

в

jersey-container-servlet 

Причина заключается в том, что последний имеет required component , который позволяет открывать приложения без web.xml, заменить на @ApplicationPath. Это часть механизма подключаемости 3 сервлетов.

Первая зависимость используется для контейнеров без сервлетов 3.0, где у есть, чтобы использовать web.xml для регистрации сервлета Джерси.


1 - Here is the implementation

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