我正在尝试使用Jersey和Google应用引擎构建一个简单的Hello World应用程序,已经两天了。对于简单的AppEngine项目,我按照以下教程进行,都可以正常工作: https://developers.google.com/appengine/docs/java/gettingstarted/creating https://developers.google.com/appengine/docs/java/webtoolsplatform
但现在我想添加Jersey,并遵循这个教程: http://www.vogella.com/articles/REST/article.html。
但是当我在web.xml中添加这些行时,服务器始终会出现以下错误:
java.lang.ClassNotFoundException: com.sun.jersey.spi.container.servlet.ServletContainer
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
id="WebApp_ID" version="2.5">
<display-name>TestServer</display-name>
<servlet>
<servlet-name>Jersey REST Service</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.test.myproject</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Jersey REST Service</servlet-name>
<url-pattern>/rest/*</url-pattern>
</servlet-mapping>
</web-app>
我已经从这里下载了Jersey JAX-RS 2.1 RI捆绑包,并按照教程中所述将所有JAR文件添加到WEB-INF/lib文件夹中。但即使过了两天仍然无法正常工作。我已经在Google上搜索了几次,显然使用Maven的人已经解决了它,但我既不使用Maven,也没有写那篇教程的人使用它。
为了检查导入的Jersey JAR文件中是否存在com.sun.jersey.spi.container.servlet.ServletContainer
,我尝试只写出这个完全合格的名称让智能感知完成名称,但在com.sun.je
之后我找不到任何智能感知,因此我最后的猜测是,在最新的Jersey构建中进行了一些包重组,并且jersey
不再在com.sun
内部。我筋疲力尽,如果有任何帮助,我将不胜感激。