我想建立一个简单的Java Web应用程序使用泽西的Web服务。不过,我有以下问题。 Tomcat服务器无法找到资源http://localhost:8081/OnlineShop/rest/books/list但它可以找到我的简单的servlet http://localhost:8081/OnlineShop/index新泽西州的网络服务
我有以下的web.xml
在另一方面,我注意到,融为一体。 sun.jersey.spi.container.servlet.ServletContainer存在于我的项目中,因为我使用maven添加了依赖关系,但jersey.config.server.provider.packages不存在。也许这是问题,但我不知道我必须添加的确切依赖关系。
我的BookRest.java包含以下代码,位于com.shop.rest包中。
最后我的pom.xml有以下依赖性。
<dependencies>
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-server</artifactId>
<version>1.19</version>
</dependency>
<dependency>
<groupId>net.sf.json-lib</groupId>
<artifactId>json-lib-ext-spring</artifactId>
<version>1.0.2</version>
</dependency>
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-servlet</artifactId>
<version>1.18</version>
</dependency>
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-core</artifactId>
<version>1.19</version>
</dependency>
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-client</artifactId>
<version>1.19</version>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.core</groupId>
<artifactId>jersey-common</artifactId>
<version>2.17</version>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.containers</groupId>
<artifactId>jersey-container-servlet-core</artifactId>
<version>2.17</version>
</dependency>
<dependency>
<groupId>javax</groupId>
<artifactId>javaee-web-api</artifactId>
<version>7.0</version>
<scope>provided</scope>
</dependency>
</dependencies>
是的,你有我与一些依赖随机努力的原因。不过,我只使用org.glassfish.jersey.core解决了我的问题。但是,你能解释一下为什么org.glassfish.jersey.core与com.sun.jersey.core依赖不同,因为我认为com.sun.jersey.core是官方的并且足够用于一个简单的项目。 – afym
'com.sun'是Jersey 1.x'org.glassfish'是Jersey 2.x两者完全不兼容。你不应该混淆两者。永远! –