我想在 Eclipse 中使用 Maven 和 Tomcat (7.0) 测试一个简单的“Hello World”球衣服务。Maven 下载了最新的 1.17 版本,但每次我尝试访问该页面时,我都会返回 404。但是在更改回 1.9 版本后,它可以按预期工作。这些版本之间有什么变化还是我错过了什么?
localhost:8080/rngservice/rest/hello
当我使用超过 9 的球衣版本时,我所做的是调用它会给出 404 错误。但是,使用版本 9 可以按预期工作并返回 HTML 页面。
有什么建议么?
我的代码:
package service.test;
import javax.ws.rs.*;
@Path("/hello")
public class RNGResource {
@GET
@Produces(MediaType.TEXT_HTML)
public String getItHTML() {
return "<htm> <title> " + "Got it!" + "</title> </html>";
}
}
我不使用 web.xml,而是使用PackagesResourceConfig
servlet 配置
package service.test;
import javax.ws.rs.ApplicationPath;
import com.sun.jersey.api.core.PackagesResourceConfig;
@ApplicationPath("/rest/*")
public class RNGServiceApplication extends PackagesResourceConfig {
public RNGServiceApplication() {
super("service.test");
}
}
Maven .pom
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>service</groupId>
<artifactId>rngservice</artifactId>
<packaging>war</packaging>
<version>1.0-SNAPSHOT</version>
<name>rngservice</name>
<build>
<!-- ... -->
</build>
<dependencies>
<dependency>
<groupId>asm</groupId>
<artifactId>asm</artifactId>
<version>3.1</version>
</dependency>
<dependency>
<groupId>javax.ws.rs</groupId>
<artifactId>jsr311-api</artifactId>
<version>1.1</version>
</dependency>
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-core</artifactId>
<version>1.17</version>
</dependency>
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-server</artifactId>
<version>1.17</version>
</dependency>
</dependencies>
</project>