【发布时间】:2016-05-15 20:49:03
【问题描述】:
当我尝试使用 Jersey 在 Eclipse 中构建一个简单的测试应用程序时。当我尝试运行我的应用程序时,我得到了这个异常:
java.lang.ClassNotFoundException: com.sun.jersey.spi.container.servlet.ServletContainer
我已经在 Stack Overflow 上研究了这个问题的答案并验证了这些事情:
确实,缺少的类不再存在于 jersey-server 中。该类现在存在于 jersey-servlet 中(注意“servlet”,而不是“server”)。所以我的 Maven 依赖项现在看起来像这样:
<dependencies>
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-core</artifactId>
<version>1.19</version>
</dependency>
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-servlet</artifactId>
<version>1.19</version>
</dependency>
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-server</artifactId>
<version>1.19</version>
</dependency>
</dependencies>
我的 web.xml 看起来像这样
<servlet>
<servlet-name>jersey-helloworld-serlvet</servlet-name>
<servlet-class>
com.sun.jersey.spi.container.servlet.ServletContainer
</servlet-class>
<init-param>
<param-name>com.sun.jersey.config.property.packages</param-name>
<param-value>com.javacodegeeks.enterprise.rest.jersey</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>jersey-helloworld-serlvet</servlet-name>
<url-pattern>/rest/*</url-pattern>
</servlet-mapping>
我现在可以在 Eclipse 中查看我的项目,在 Java Resources/Libraries/Maven Dependencies 下我可以看到 jersey-servlet-1.19.jar 文件,在那个 jar 中我可以看到 com.sun.jersey.spi.container .servlet 包,在该包中我可以看到 ServletContainer.class 文件。
所以一切似乎都是正确的,但是当服务器 (apache 7.0) 启动时它找不到明显存在的类。
感谢您的任何建议。
【问题讨论】:
标签: eclipse maven exception jersey