[英]JAX-RS with Jersey 2.22.2 + Tomcat 7.0.59 : The requested resource is not available
我已經建立了獨立的休息模型庫,當球衣做資源配置包時,似乎不起作用,它會響應請求的資源不可用。
我使用過: Jersey 2.22.2 和 Tomcat 7.0.59
請在下面找到以下詳細信息:
rest-model.jar (file)
> com.company.rest.domain.* (package)
> TestData.class (file)
> @XmlRootElement
> class TestData {
> private String str ;
> public TestData() {}
> public TestData(String str) { setStr(str); }
> public String getStr() { return str ; }
> public void setStr(String str) { this.str = str ; }
> }
> com.company.rest.service.* (package)
> TestService.class (file)
> @Path("/test")
> @Produces({MediaType.APPLICATION_JSON})
> class TestService {
> @GET public TestData test() {
> return new TestData("test") ;
> }
> }
Tomcat with classpath to file rest-model.jar
WebRoot (folder)
> WEB-INF (folder)
> web.xml (file)
<servlet>
<servlet-name>RestApp</servlet-name>
<servlet-class>
org.glassfish.jersey.servlet.ServletContainer
</servlet-class>
<init-param>
<param-name>
com.sun.jersey.config.property.packages
</param-name>
<param-value>
com.company.rest.service
</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>RestApp</servlet-name>
<url-pattern>/rest/*</url-pattern>
</servlet-mapping>
用於包掃描的 init-param 錯誤。
對於 Jersey 2.XX,您需要將其配置為:
<init-param>
<param-name>jersey.config.server.provider.packages</param-name>
<param-value>com.company.rest.service</param-value>
</init-param>
如果您導航到您的 tomcat 文件夾,特別是配置文件 conf/server.xml,底部的標簽是否如您所願? 可能是您只是請求了錯誤的 URL(缺少基本路徑) - 查看 server.xml 文件告訴您有關 Web 應用程序路徑的內容。
在 Eclipse 中,您將擁有帶有兩個子窗格的服務器窗格:概覽和模塊。 這些模塊顯示了您的 Web 應用程序和基本路徑。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.