无法将应用程序部署到Jersey 2.X中的Jetty ServletContainer

时间:2014-01-06 14:16:03

标签: java rest jersey jetty jax-rs

在Jetty 1.X中,可以使用以下内容将ServletContainer部署到码头:

Application application = ...
server.addServlet(new ServletHolder(new ServletContainer(application)), "/foo);

在Jersey 2.X中,ServletContainer类需要ResourceConfig,它是Application的子类。但是,前者是Jersey实现的一部分,而后者是JAX-RS规范的一部分,这意味着Jetty的部署现在依赖于Jersey内部,这是我想避免的。

我在从泽西1号到泽西岛2的迁移中遗漏了什么?

1 个答案:

答案 0 :(得分:0)

ServletContainer也是特定于泽西岛的。无论如何,您可以使用ResourceConfig#forApplicationResourceConfig#forApplicationClass直接从JAX-RS应用程序创建ResourceConfig。然后你的代码看起来像:

server.addServlet( new ServletHolder(
                   new ServletContainer(
                       ResourceConfig.forApplication(application)))
                   , "/foo");
相关问题