我已阅读与我的问题相关的所有主题,但仍未找到解决方案。
问题是当我在 pom.xml 中使用此依赖项
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-servlet</artifactId>
<version>1.19.1</version>
</dependency>
和 web.xml 中的这个 serlvet 映射
<servlet>
<servlet-name>Jersey Web Application</servlet-name>
<servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Jersey Web Application</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
一切正常。
但是当我将依赖项更改为:
<dependency>
<groupId>org.glassfish.jersey.core</groupId>
<artifactId>jersey-server</artifactId>
<version>2.22.2</version>
</dependency>
和 servlet 映射到:
<servlet>
<servlet-name>jerseyServlet</servlet-name>
<servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
<init-param>
<param-name>jersey.config.server.provider.packages</param-name>
<param-value>com.myApp</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>jerseyServlet</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
然后 Tomcat 给我 404 错误。 使用第二个配置条目的主要原因是我需要异步支持,据我所知,这仅在 Jersey 2.x 中才有可能 谁能帮我解决这个问题?
最佳答案
您需要 Jersey servlet 依赖项
<dependency>
<groupId>org.glassfish.jersey.containers</groupId>
<artifactId>jersey-container-servlet</artifactId>
<version>2.22.2</version>
</dependency>
同样对于异步支持,你还应该添加 <async-supported>true</async-supported>
到您的 Jersey servlet 声明
关于java - Jersey 2 servlet 404 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36234369/