Java EE 6 提供了一种在启动时激活 JAX-RS 应用程序的方法。
问题是我(当然我们中的许多人仍在)使用不符合 Java EE/Servlet 3.0 的 Web 服务器,因此如果我们尝试在 JAX-RS 应用程序上使用启动时加载 servlet 映射,Web 服务器 (至少码头的情况是这样)会发牢骚
"class is not a servlet"
并因此拒绝加载应用程序。
问题的要点是-加载上下文解析器,唯一可以完成的方法是通过 jax-rs Application 子类。
激活 Application 子类的方法应该在 Jetty 和 Tomcat/JBoss 上类似地工作,因为我使用 jetty 进行开发(由于 GWT - 还有什么?)和 Tomcat/JBoss 进行生产。我希望避免为 jetty 和 tomcat 编写不同的加载器。