Java 使用maven在Tomcat8上RESTWebService 404

Java 使用maven在Tomcat8上RESTWebService 404,java,web-services,rest,maven,tomcat,Java,Web Services,Rest,Maven,Tomcat,当我尝试在Tomcat8上运行我的Web服务时,我遇到了一个404NotFound异常。我的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/xsd/m

当我尝试在Tomcat8上运行我的Web服务时,我遇到了一个404NotFound异常。我的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/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.deangrobler.testrest</groupId>
    <artifactId>TestRest</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <dependencies>
        <dependency>
            <groupId>javax.ws.rs</groupId>
            <artifactId>javax.ws.rs-api</artifactId>
            <version>2.0</version>
        </dependency>
        <dependency>
            <groupId>org.glassfish.jersey.containers</groupId>
            <artifactId>jersey-container-servlet</artifactId>
            <version>2.10.1</version>
        </dependency>
    </dependencies>
</project>
我希望到时候能够击中目标

http://localhost:8080/TestRest/rest/hellorest/

但是。。。我刚刚得到404错误。。我错过了什么?非常感谢您的帮助:)

Paramcom.sun.jersey.config.property.packages表示包含REST类的包。所以参数值应该是com.deangrobler.testrest

检查ServletContainer。

我认为您的war的名称是
TestRest-0.0.1-SNAPSHOT
。因此,您必须使用url:
http://localhost:8080/TestRest-0.0.1-SNAPSHOT/rest/hellorest/
您似乎正在使用Jersey 2.0版本。因此,在web.xml中,您需要更改servlet部分

<servlet>
    <servlet-name>JSON RESTful Service</servlet-name>
    <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
    <init-param>
        <param-name>jersey.config.server.provider.packages</param-name>
        <param-value>com.samplerest.java</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
</servlet>

JSON RESTful服务
org.glassfish.jersey.servlet.ServletContainer
jersey.config.server.provider.packages
com.samplest.java
1.
请记住将param值更改为包含java代码的包的名称


这将有帮助:-

我不太确定,但您是否也尝试过获取404@PracedeThanks@mkrakhin-更新:现在我收到一个错误,错误是:java.lang.ClassNotFoundException:com.sun.jersey.spi.container.servlet.ServletContainer您应该将jersey核心和jersey服务器添加到pom.xml中
http://localhost:8080/TestRest/rest/hellorest/
<servlet>
    <servlet-name>JSON RESTful Service</servlet-name>
    <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
    <init-param>
        <param-name>jersey.config.server.provider.packages</param-name>
        <param-value>com.samplerest.java</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
</servlet>