Как настроить Приложение JAX-RS, используя только аннотации (без web.xml)?

Можно ли настроить приложение JAX-RS, используя только аннотации? (с использованием Servlet 3.0 и JAX-RS Jersey 1.1.0)

Я пытался и не повезло. Используя некоторыеweb.xml кажется обязательным

Конфигурация A (работает, но имеет конфигурацию web.xml)

web.xml

   ...
   <servlet>
      <servlet-name>org.foo.rest.MyApplication</servlet-name>
   </servlet>
   <servlet-mapping>
       <servlet-name>org.foo.rest.MyApplication</servlet-name>
       <url-pattern>/*</url-pattern>
   </servlet-mapping>
   ...

Ява

@ApplicationPath("/")
public class MyApplication extends Application {
    ...
}

Конфигурация B (не работает, исключение выдается)

@ApplicationPath("/")
@WebServlet("/*") // <-- 
public class MyApplication extends Application {
    ...
}

Последний, похоже, настаивает на том, что приложение будет подклассом сервлета (исключение не оставляет догадок)

java.lang.ClassCastException: org.foo.rest.MyApplication cannot be cast to javax.servlet.Servlet

Вопросов

Почему определение web.xml сработало, а аннотация - нет? Какая разница?

Есть ли способ, чтобы это сработало, например у вас есть приложение JAX-RS без web.xml?

Ответы на вопрос(6)

Ваш ответ на вопрос