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>
也許你可以提供一些有關到底發生了什麼的更多細節。 「整件事打破」並不是很具描述性。 – Rob
@Rob是的,對不起。我的意思是用最簡單的方式:第一個版本,我可以在瀏覽器(localhost:8080/project/rest/service/test)中打開它,而第二個版本不能。我會更新這個問題。 – asteri
發佈導致此操作的依賴關係開關 –