2016-05-26 7 views
0

注:同じ質問の関連スレッドの回答は私のためには機能しませんでした。jersey restful com.sun.jersey.api.container.ContainerException:ResourceConfigインスタンスにルートリソースクラスが含まれていません

私はフロントエンドとしてangularJS、バックエンドとしてjavaを持つWebアプリケーションを設計しています.RESTfulなサービスを使ってJavaクラスと通信しています。私は私のIDEとしてEclipse keplerを使用しています.Maven 2.0.2はJava 6のJersey 1.17.1とビルドマネージャーです。また、私はリソースを配備するためにWebsphere 7を使用しています。 これは私のMavenのフォルダ構造です: enter image description here

次のように私のpom.xmlからの抜粋は次のとおりです。次のように

<dependency> 
     <groupId>asm</groupId> 
     <artifactId>asm</artifactId> 
     <version>1.5.3</version> 
    </dependency> 

    <dependency> 
     <groupId>com.sun.jersey</groupId> 
     <artifactId>jersey-server</artifactId> 
     <version>1.17.1</version> 
    </dependency> 
    <dependency> 
     <groupId>com.sun.jersey</groupId> 
     <artifactId>jersey-servlet</artifactId> 
     <version>1.17.1</version> 
    </dependency> 
    <dependency> 
     <groupId>com.sun.jersey</groupId> 
     <artifactId>jersey-json</artifactId> 
     <version>1.17.1</version> 
    </dependency> 

また、私のweb.xmlを読み取ります

<web-app> 
<display-name>KB</display-name> 
<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>rest</param-value> 
</init-param> 

<init-param> 
    <param-name>com.sun.jersey.api.json.POJOMappingFeature</param-name> 
    <param-value>true</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> 
<!-- .. --> 

</web-app> 

次の通りであります私のコードは、サービスを呼び出すために使用される角度jsのコントローラからです:

$scope.triggerDataRetrival=function(docName){ 
    alert("inside func"); 
    var url = "rest/retrieve/doc?name="+docName; 
    $http.get(url).success(function(response) { 
     $scope.docInfo = response; 
    }); 

    } 

し、次のように最終的には私のサービスクラスが行く:

package rest; 


import javax.ws.rs.GET; 
import javax.ws.rs.Path; 
import javax.ws.rs.Produces; 
import javax.ws.rs.QueryParam; 
import javax.ws.rs.core.MediaType; 


@Path("/retrieve") 
public class retrieve { 

@GET 
@Produces(MediaType.TEXT_PLAIN) 
@Path("/doc") 
//@Produces(MediaType.APPLICATION_JSON) 
public String getResponse(@QueryParam("name") String doctype){ 
    System.out.println("doctype:"+doctype); 
    return "success"; 
} 
} 

私はこの質問のために複数のスレッド上で示唆した多くのことを試してみました。しかし何も動いていないようにみえ。コンソールに表示されるエラーはcom.sun.jersey.api.container.ContainerException: The ResourceConfig instance does not contain any root resource classes.です。どんな助けも本当に素晴らしいでしょう。事前に感謝します。

答えて

0

以下をweb.xmlから完全に削除しようとすると機能しますか?

<init-param> 
    <param-name>com.sun.jersey.config.property.packages</param-name> 
    <param-value>rest</param-value> 
</init-param> 
+0

いいえ..この作品はありません.. –

関連する問題