Pregunta La instancia de ResourceConfig no contiene ninguna clase de recurso raíz


¿Qué está mal aquí?

The ResourceConfig instance does not contain any root resource classes.
Dec 10, 2010 10:21:24 AM com.sun.jersey.spi.spring.container.servlet.SpringServlet initiate
SEVERE: Exception occurred when intialization
com.sun.jersey.api.container.ContainerException: The ResourceConfig instance does not contain any root resource classes.
        at com.sun.jersey.server.impl.application.RootResourceUriRules.<init>(RootResourceUriRules.java:103)
        at com.sun.jersey.server.impl.application.WebApplicationImpl._initiate(WebApplicationImpl.java:1182)
        at com.sun.jersey.server.impl.application.WebApplicationImpl.access$600(WebApplicationImpl.java:161)
        at com.sun.jersey.server.impl.application.WebApplicationImpl$12.f(WebApplicationImpl.java:698)
        at com.sun.jersey.server.impl.application.WebApplicationImpl$12.f(WebApplicationImpl.java:695)
        at com.sun.jersey.spi.inject.Errors.processWithErrors(Errors.java:197)
        at com.sun.jersey.server.impl.application.WebApplicationImpl.initiate(WebApplicationImpl.java:695)
        at com.sun.jersey.spi.spring.container.servlet.SpringServlet.initiate(SpringServlet.java:117)

Filtrar:

<filter>
    <filter-name>JerseyFilter</filter-name>
    <filter-class>com.sun.jersey.spi.spring.container.servlet.SpringServlet</filter-class>

    <init-param>
        <param-name>com.sun.jersey.config.feature.Redirect</param-name>
        <param-value>true</param-value>
    </init-param>

    <init-param>
        <param-name>com.sun.jersey.config.property.JSPTemplatesBasePath</param-name>
        <param-value>/views/</param-value>
    </init-param>

    <init-param>
        <param-name>com.sun.jersey.config.property.WebPageContentRegex</param-name>
        <param-value>/(images|css|jsp)/.*</param-value>
    </init-param>
</filter>

<filter-mapping>
    <filter-name>JerseyFilter</filter-name>
    <url-pattern>/myresource/*</url-pattern>
</filter-mapping>

Código:

@Path ("/admin")
public class AdminUiResource {

  @GET
  @Produces ("text/html")
  @Path ("/singup")
  public Viewable getSignUp () {
    return new Viewable("/public/signup", "Test");
  }
}

75
2017-12-10 18:39


origen


Respuestas:


Has intentado agregar

<init-param>
  <param-name>com.sun.jersey.config.property.packages</param-name>
  <param-value>my.package.name</param-value>
</init-param>

a su definición SpringServlet? Obviamente, reemplace my.package.name con el paquete en el que se encuentra AdminUiResource y asegúrese de que esté en classpath.


77
2017-12-10 22:51



Soy nuevo en Jersey, tuve el mismo problema, pero cuando eliminé el "/" y simplemente usé @path ("admin") funcionó.

@Path("admin")
public class AdminUiResource { ... }

30
2018-01-25 07:08



Esto significa, no pudo encontrar ninguna clase que se pueda ejecutar como el servicio web RESTful de jersey.

Comprobar:

  • Si 'com.sun.jersey.config.property.packages'falta en tu web.xml.
  • Si es valioso para 'com.sun.jersey.config.property.packages' param falta o no es válido (el paquete mencionado no existe). Debe ser un paquete donde haya puesto sus clases de POJO que se ejecutan como servicios de jersey.
  • Si existe al menos una clase POJO, que tiene un método anotado con @Path atributo.

26
2018-05-13 16:25



NECESITA AGREGAR EL NOMBRE DE SU PAQUETE EN

<init-param>
  <param-name>com.sun.jersey.config.property.packages</param-name>
  <param-value>your.package.name</param-value>
</init-param>

TAMBIÉN UNA COSA SENCILLA QUE HE NOTADO,
  Necesito actualizar mi proyecto después MAVEN BUILD De lo contrario, me mostrará el mismo error.
Comente si conoce el motivo por el que debemos actualizar el proyecto.


26
2017-10-31 06:15



Su paquete de recursos debe contener al menos un pojo que tenga anotaciones con @Path o tenga al menos un método anotado con @Path o un designador de método de solicitud, como @GET, @PUT, @POST o @DELETE. Los métodos de recursos son métodos de una clase de recurso anotada con un designador de método de solicitud. Esto resolvió mi problema ...


12
2018-02-01 09:00



Me encontré con este problema con JBOSS EAP 6.1. Pude desplegar mi código a través de Eclipse en el servidor JBOSS, pero una vez que intenté implementar el archivo como un archivo WAR en JBOSS comencé a recibir este error.

La solución fue configurar el web.xml para que funcione correctamente con JBOSS al permitir que los dos trabajen juntos.

Las siguientes dos líneas fueron comentadas en web.xml para permitir a JBOSS hacer sus propias configuraciones

<!--  
    <init-param>
    <param-name>com.sun.jersey.config.property.packages</param-name>
    <param-value>com.your.package</param-value>
</init-param> -->

Y luego agregue los siguientes parámetros de contexto después

<context-param>
    <param-name>resteasy.scan</param-name>
    <param-value>false</param-value>
</context-param>
<context-param>
    <param-name>resteasy.scan.resources</param-name>
    <param-value>false</param-value>
</context-param>
<context-param>
    <param-name>resteasy.scan.providers</param-name>
    <param-value>false</param-value>
</context-param>

10
2018-02-17 20:25



Básicamente lo corregí como a continuación y todo funcionó bien.

<servlet>
    <servlet-name >MyWebApplication</servlet-name>
    <servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
    <init-param>
        <param-name>com.sun.jersey.config.feature.Redirect</param-name>
        <param-value>true</param-value>
    </init-param>
    <init-param>
        <param-name>com.sun.jersey.config.property.JSPTemplatesBasePath</param-name>
        <param-value>/views/</param-value>
    </init-param>
    <init-param>
        <param-name>com.sun.jersey.config.property.WebPageContentRegex</param-name>
        <param-value>/(images|css|jsp)/.*</param-value>
    </init-param>
</servlet>

<servlet-mapping>
    <servlet-name>MyWebApplication</servlet-name>
    <url-pattern>/myapp/*</url-pattern>
</servlet-mapping>

8
2017-12-11 00:36