2014-01-13 2 views
0

Я не могу понять, что мои ресурсы трикотажа признаны в моем приложении. Согласно всему, что я читаю в Интернете, возможны два случая, когда это может произойти.Экземпляр ResourceConfig не содержит классов корневого ресурса

  1. В каталоге web.xml отсутствует действительный пакет, указанный в файле com.sun.jersey.config.property.packages.

Это моя web.xml:

<web-app version="3.0" 
    xmlns="http://java.sun.com/xml/ns/javaee" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" 
    metadata-complete="false"> 

<servlet> 
    <servlet-name>Jersey REST Service</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.package</param-value> 
    </init-param> 
    <load-on-startup>1</load-on-startup> 
</servlet> 

<servlet-mapping> 
    <servlet-name>Jersey REST Service</servlet-name> 
    <url-pattern>/rest/*</url-pattern> 
</servlet-mapping> 
</web-app> 

: 2. Там нет допустимого класса ресурсов в my.package.

Мой класс ресурс:

package my.package; 

import javax.ws.rs.Path; 
import javax.ws.rs.GET; 
import javax.ws.rs.core.Response; 

@Path("/") 
class MyClass{ 

@GET 
public Response asdf(){ 
    return Response.ok().build(); 
} 

@Path("/test") 
@GET 
public Response test(){ 
    return Response.ok().build(); 
} 
} 

Насколько я могу судить, ни один из этих двух условий.

Ради завершения, вот моя зависимость:

<dependency> 
     <groupId>javax.ws.rs</groupId> 
     <artifactId>jsr311-api</artifactId> 
     <version>1.1.1</version> 
    </dependency> 
    <dependency> 
     <groupId>com.sun.jersey</groupId> 
     <artifactId>jersey-server</artifactId> 
     <version>1.17</version> 
    </dependency> 
    <dependency> 
     <groupId>com.sun.jersey</groupId> 
     <artifactId>jersey-bundle</artifactId> 
     <version>1.17</version> 
    </dependency> 
    <dependency> 
     <groupId>com.sun.jersey</groupId> 
     <artifactId>jersey-servlet</artifactId> 
     <version>1.17</version> 
    </dependency> 

Любых идеи относительно того, почему я мог бы получить эту ошибку?

ответ

0
@Path("/") 
class MyClass{ 

Класс не показан Джерси. Попробуйте изменить его (обратите внимание на добавление «public»):

@Path("/") 
public class MyClass{ 
+0

Цифры было бы чем-то таким глупым. Спасибо, теперь он отлично работает. – user2012688

Смежные вопросы

 Смежные вопросы