Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/375.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/rest/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 无法将应用程序部署到Jersey 2.X中的Jetty ServletContainer_Java_Rest_Jersey_Jetty_Jax Rs - Fatal编程技术网

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

Java 无法将应用程序部署到Jersey 2.X中的Jetty ServletContainer,java,rest,jersey,jetty,jax-rs,Java,Rest,Jersey,Jetty,Jax Rs,在Jetty 1.X中,可以使用以下方法将ServletContainer部署到Jetty: Application application = ... server.addServlet(new ServletHolder(new ServletContainer(application)), "/foo); 在Jersey 2.X中,ServletContainer类需要一个ResourceConfig,它是应用程序的子类。然而,前者是Jersey实现的一部分,而后者是JAX-RS规范的一

在Jetty 1.X中,可以使用以下方法将
ServletContainer
部署到Jetty:

Application application = ...
server.addServlet(new ServletHolder(new ServletContainer(application)), "/foo);
在Jersey 2.X中,
ServletContainer
类需要一个
ResourceConfig
,它是
应用程序的子类。然而,前者是Jersey实现的一部分,而后者是JAX-RS规范的一部分,这意味着到Jetty的部署现在取决于Jersey内部,这是我想要避免的

从泽西岛1号到泽西岛2号的迁移过程中是否遗漏了什么?

也是泽西岛特有的。无论如何,您可以使用或直接从JAX-RS应用程序创建
ResourceConfig
。那么您的代码将如下所示:

server.addServlet(新的ServletHolder)(
新ServletContainer(
ResourceConfig.forApplication(应用程序)))
,“/foo”);

为什么不通过类引用而不是对象实例添加servlet?(这就是
WEB-INF/WEB.xml
的工作原理,Jersey必须支持这一点)我希望添加特定实例,而不是类,因为我希望能够很好地控制对象的构造方式。我的目标是完全避免对ResourceConfig的依赖,因为ResourceConfig是Jersey特定的类。使用您的解决方案不会消除这种依赖性。我理解您的意思。我的观点是,
ServletContainer
也是特定于Jersey的,使用
ResourceConfig
更方便。如果您想直接使用
应用程序
,请随意创建拉取请求(,更好的方式)或提交改进()。为我的愚蠢道歉,您完全正确,因为这解决了我的问题:应用程序部署到的服务器实现的接口只能依赖于JAX-RS,而Jetty/Jersey实现可以依赖于Jersey特定的东西。