2016-03-22 5 views
2

私は分離された休憩モデルライブラリを構築しました。ジャージがリソース設定パッケージを実行すると動作しないと思われます要求されたリソースは利用できません。JAX-RS with Jersey 2.22.2 + Tomcat 7.0.59:要求されたリソースは利用できません

私が使用している:ジャージー2.22.2とTomcat 7.0.59

および以下の詳細を見つけるしてください:あなたは、Tomcatのフォルダに移動した場合

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> 
+0

。 – nnunes10

答えて

0

を、特に設定ファイルconfに/ server.xmlは、期待どおりの下の見た目のタグですか? URLを間違って要求している可能性があります(ベースパスがありません)。web.xmlへのパスをserver.xmlファイルで確認できます。

Eclipseには、2つのサブペイン、つまり概要とモジュールがあるサーバーペインがあります。モジュールはあなたのウェブアプリとベースパスを表示します。

1

パッケージスキャンに使用されるinit-paramが間違っています。ジャージー2.XXについては

、あなたはとしてそれを設定する必要があります。com.sun.jersey.spi.container.servlet.ServletContainer` `によってサーブレットクラスを交換してみ

<init-param> 
    <param-name>jersey.config.server.provider.packages</param-name> 
    <param-value>com.company.rest.service</param-value> 
</init-param> 
関連する問題