“我正在使用 Jersey 2.17”
2.17中不存在这个
com.sun.jersey.spi.container.servlet.ServletContainer
我很惊讶你没有遇到类未找到异常。这意味着您可能正在混合版本。或者您可能会遇到例外而没有告诉我们。无论如何,正确的ServletContainer
应该
org.glassfish.jersey.servlet.ServletContainer
接下来你应该做的(如果有的话)是删除其包开头的所有(jar)com.sun
。这些是 Jersey 1 罐子。在 Jersey 2 中,包命名模式更改为org.glassfish.xxx
如果您想让生活变得轻松,请使用 Maven,只需向整个项目添加一个依赖项,它就会引入其余所有内容。
<dependency>
<groupId>org.glassfish.jersey.containers</groupId>
<artifactId>jersey-container-servlet</artifactId>
<version>2.17</version>
</dependency>
另外,这在泽西岛二号中也不存在
jersey.api.json.POJOMappingFeature
在 Jersey 2 中,只需添加此 Maven 依赖项,一切都会变得美好。
<dependency>
<groupId>org.glassfish.jersey.media</groupId>
<artifactId>jersey-media-json-jackson</artifactId>
<version>2.17</version>
</dependency>
如果您不使用 Maven,请下载 RI 包here。打开所有文件夹并将每个 jar 添加到您的项目中。这是为了核心支持。
如需 JSON 支持,请下载this, 也所有这些。您可以在同一网站上搜索它们。这样做应该无需额外配置即可工作。或者,您可以只下载第二个链接中的包,然后将包添加到 web.xml 中,如链接中所示。
但为了让它正常工作,由于您的代码不生成或消耗任何 JSON,您只需先运行核心,然后一旦它开始正常工作,您就可以处理 JSON 支持。