2015-01-05 71 views
1

好吧,我真的不知道我能做這個測試用例有多簡單。我在所有方面都有最簡單的代碼,但它在Jersey 1.x中運行並且在Glassfish版本中失敗。任何人都可以闡明我做錯了什麼?通過「失敗」和「不工作」,我的意思是,當我站在Tomcat容器中並嘗試在瀏覽器中擊中它時,第一個版本成功,但第二個版本失敗。澤西島1.x到2.x:簡單的web.xml更改,失敗慘重

@Path("/service") 
public class MyService { 

    @GET 
    @Path("/test") 
    public String test() { 
     return "Yay!"; 
    } 

} 

...與新澤西1.x的工作web.xml中......

<servlet> 
     <servlet-name>jersey-servlet</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>my.service.package</param-value> 
     </init-param> 
     <load-on-startup>1</load-on-startup> 
    </servlet> 

    <servlet-mapping> 
     <servlet-name>jersey-servlet</servlet-name> 
     <url-pattern>/rest/*</url-pattern> 
    </servlet-mapping> 

...只需更換兩個字符串的Glassfish的,整個事情斷裂。

<servlet> 
     <servlet-name>jersey-servlet</servlet-name> 
     <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class> 
     <init-param> 
      <param-name>jersey.config.server.provider.packages</param-name> 
      <param-value>my.service.package</param-value> 
     </init-param> 
     <load-on-startup>1</load-on-startup> 
    </servlet> 

    <servlet-mapping> 
     <servlet-name>jersey-servlet</servlet-name> 
     <url-pattern>/rest/*</url-pattern> 
    </servlet-mapping> 

的pom.xml澤西島的1.x

<dependency> 
    <groupId>com.sun.jersey</groupId> 
    <artifactId>jersey-server</artifactId> 
    <version>1.18.3</version> 
</dependency> 

...和... 2.X

<dependency> 
    <groupId>org.glassfish.jersey.core</groupId> 
    <artifactId>jersey-server</artifactId> 
    <version>2.14</version> 
</dependency> 
+0

也許你可以提供一些有關到底發生了什麼的更多細節。 「整件事打破」並不是很具描述性。 – Rob

+0

@Rob是的,對不起。我的意思是用最簡單的方式:第一個版本,我可以在瀏覽器(localhost:8080/project/rest/service/test)中打開它,而第二個版本不能。我會更新這個問題。 – asteri

+0

發佈導致此操作的依賴關係開關 –

回答

1

使用下面的依賴應該在拉您需要啓動並運行所需的所有依賴項。

<dependency> 
    <groupId>org.glassfish.jersey.containers</groupId> 
    <artifactId>jersey-container-servlet</artifactId> 
    <version>2.14</version> 
</dependency>