2016-05-26 82 views
0

注意:相同問題的相關主題中的答案對我而言並不適用。jersey restful com.sun.jersey.api.container.ContainerException:ResourceConfig實例不包含任何根資源類

我正在設計一個以angularJS作爲我的前端和Java作爲我的後端的Web應用程序。我正在使用RESTful服務與我的Java類進行通信。我使用Eclipse kepler作爲我的IDE,Maven 2.0.2作爲我的構建管理器,並使用java 6中的澤西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

no..this doesnt work .. –

相關問題