Maven 未找到具有最新版本的Jersey服务

Maven 未找到具有最新版本的Jersey服务,maven,tomcat,servlets,jersey,http-status-code-404,Maven,Tomcat,Servlets,Jersey,Http Status Code 404,我想在Eclipse中使用Maven和Tomcat(7.0)测试一个简单的“Hello World”jersey服务。Maven下载了最新版本1.17,但每次我尝试访问该页面时,都会返回404。但是,在更改回1.9版后,它可以按预期工作。这些版本之间有什么变化吗?或者我遗漏了什么 我所做的是调用localhost:8080/rngservice/rest/hello,当我使用9以后的版本时,会出现404错误。但是,使用版本9可以按预期工作并返回HTML页面 有什么建议吗 我的代码: packag

我想在Eclipse中使用Maven和Tomcat(7.0)测试一个简单的“Hello World”jersey服务。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>";
  }
}
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>

4.0.0
服务
RNG服务
战争
1.0-快照
RNG服务
asm
asm
3.1
javax.ws.rs
jsr311 api
1.1
泽西岛
球衣核心
1.17
泽西岛
泽西服务器
1.17

如果您使用的是404,则该服务似乎无法正确启动。您确定Tomcat/应用程序启动期间没有错误吗?两个版本都没有错误,日志生成的结果相同。然而,在使用jersey的1.9版本时,也有此日志信息
com.sun.jersey.server.impl.container.servlet.JerseyServletContainerInitializer addServletWithApplication INFO:在servlet映射/rest/*处注册名为service.test.random.RNGServiceApplication的jersey servlet应用程序,对于同名的应用程序类
,这不是使用1.17版本生成的,1.17版本可能会解释404错误。但问题仍然是为什么会发生这种情况?我不知道如何宣传这种情况以吸引更多的关注。。但是我仍然有同样的问题,Jersey 1.18,Maven 3,Eclipse4.3中的Tomcat7。我想这是因为maven处理jersey库的方式。如果我创建了一个“动态web项目”并手动放入jersey方面,Tomcat会很高兴地找到REST资源。当我将完全相同的项目转换为Maven项目并让它处理依赖项时,同一个Tomcat从此抛出404个错误。通过更多的实验,我发现将Jersey库解析从Maven中移除(即手动将其添加到Eclipse)让Tomcat开心。很抱歉进行了增量更新——我刚刚发现Maven使用了适用于Tomcat 7的Jersey 2.5.1,并按照中的说明配置了dep
<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>