L’istanza ResourceConfig non contiene alcuna class di risorse root

Cosa c’è che non va qui?

The ResourceConfig instance does not contain any root resource classs. 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 classs. at com.sun.jersey.server.impl.application.RootResourceUriRules.(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) 

Filtro:

  JerseyFilter com.sun.jersey.spi.spring.container.servlet.SpringServlet  com.sun.jersey.config.feature.Redirect true   com.sun.jersey.config.property.JSPTemplatesBasePath /views/   com.sun.jersey.config.property.WebPageContentRegex /(images|css|jsp)/.*    JerseyFilter /myresource/*  

Codice:

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

    Hai provato ad aggiungere

      com.sun.jersey.config.property.packages my.package.name  

    alla tua definizione SpringServlet? Ovviamente sostituire my.package.name con il pacchetto in cui si trova AdminUiResource e assicurarsi che si trovi nel classpath.

    Sono nuovo di Jersey – Ho avuto lo stesso problema, ma quando ho rimosso il “/” e ho appena usato il @path (“admin”) ha funzionato.

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

    Ciò significa che non è stato ansible trovare alcuna class che possa essere eseguita come servizio web RESTful della jersey.

    Dai un’occhiata:

    • Manca ” com.sun.jersey.config.property.packages ” nel tuo web.xml.
    • Il valore per il parametro ‘ com.sun.jersey.config.property.packages ‘ è mancante o non valido (il pacchetto menzionato non esiste). Dovrebbe essere un pacchetto in cui hai inserito le tue classi POJO che funzionano come servizi di jersey.
    • Se esiste almeno una class POJO, che ha un metodo annotato con l’attributo @Path .

    È NECESSARIO AGGIUNGERE IL NOME DELLA CONFEZIONE AT

      com.sun.jersey.config.property.packages your.package.name  

    ANCHE UNA SOLA VOLTA CHE HO NOTATO,
    Ho bisogno di aggiornare il mio progetto dopo MAVEN BUILD altrimenti mi mostra lo stesso errore.
    Si prega di commentare Se si conosce il motivo per cui abbiamo bisogno di aggiornare il progetto?

    Il tuo pacchetto di risorse dovrebbe contenere almeno un pojo che sia annotato con @Path o che abbia almeno un metodo annotato con @Path o un designatore del metodo di richiesta, come @GET, @PUT, @POST o @DELETE. I metodi di risorse sono metodi di una class di risorsa annotata con un designatore del metodo di richiesta. Questo ha risolto il mio problema ..

    Ho incontrato questo problema con JBOSS EAP 6.1. Sono stato in grado di distribuire il mio codice tramite eclipse sul server JBOSS ma una volta ho tentato di distribuire il file come file WAR su JBOSS ho iniziato a ricevere questo errore.

    La soluzione stava configurando il web.xml per funzionare correttamente con JBOSS consentendo ai due di lavorare insieme.

    Le seguenti due righe sono state commentate in web.xml per consentire a JBOSS di eseguire le proprie configurazioni

      

    E quindi aggiungere i seguenti parametri di contesto dopo

      resteasy.scan false   resteasy.scan.resources false   resteasy.scan.providers false  

    Fondamentalmente l’ho corretto come sotto e tutto ha funzionato bene.

      MyWebApplication com.sun.jersey.spi.container.servlet.ServletContainer  com.sun.jersey.config.feature.Redirect true   com.sun.jersey.config.property.JSPTemplatesBasePath /views/   com.sun.jersey.config.property.WebPageContentRegex /(images|css|jsp)/.*    MyWebApplication /myapp/*  

    Sto ottenendo questa eccezione, a causa di una mancanza di ResourseConfig in Web.xml.

    Inserisci:

      com.sun.jersey.config.property.packages /* Name of Package where your service class exists */  

    Classe di servizio: class che contiene servizi come: @Path("/orders")

    Ho avuto lo stesso problema con il tentativo di eseguire la webapp da un progetto eclipse. Appena ho copiato i file .class in /WEB-INF/classs ha funzionato perfettamente.

    Ho avuto lo stesso problema, testando una serie di esempi diversi e provato tutte le possibili soluzioni. Ciò che alla fine ha funzionato per me è stato quando ho aggiunto un @Path("") sulla linea di class, l’avevo lasciato fuori.

    Stesso problema – web.xml si presentava così:

      JerseyServlet com.sun.jersey.spi.container.servlet.ServletContainer  javax.ws.rs.Application com.mystuff.web.JerseyApplication  ... 

    Fornendo un’applicazione personalizzata si ignora qualsiasi rilevamento automatico delle classi configurato da XML. È necessario implementare i giusti metodi per scrivere il proprio codice per cablare le classi. Vedi i javadocs.

    Ho avuto lo stesso problema e ho scoperto che era un problema con il modo in cui ho distribuito il mio codice sorgente. Come dice il messaggio di errore: "...does not contain any root resource classs" . Quindi non è stato ansible trovare alcuna class di risorsa nel pacchetto configurato. Ho appena implementato le classi in modo errato: è per questo che non l’ha rilevato.

    Ho dimenticato di distribuire i miei file di class nella directory / WEB-INF / classs del WAR – inizialmente l’ho avuto direttamente nella root del file WAR. Quindi, quando ha cercato le classi di risorse, non le ha trovate, perché esistevano in una posizione diversa (errata).

    Un’altra ansible causa di questo errore è che si è dimenticato di aggiungere le librerie già presenti nella cartella /WEBINF/lib al percorso di build (ad esempio quando si importa un file .war e non si controllano le librerie quando richiesto nella procedura guidata). Mi è appena successo.

    È successo a me quando ho distribuito il mio main.jar, senza controllare la casella aggiungi voci di directory nel menu jar esportazione in Eclipse .

    Bene, è un po ‘tardi per rispondere. Ho affrontato lo stesso problema e le mie ricerche su Google sono state vane. Tuttavia, sono riuscito a scoprire quale fosse il problema. Potrebbero esserci molte ragioni per ottenere questo errore ma ho ricevuto l’errore dovuto a quanto segue e volevo condividerlo con i miei colleghi sviluppatori.

    1. In precedenza ho usato Jersey 1.3 e stavo ottenendo questo errore. Ma quando ho aggiornato i vasi all’ultima versione di Jersey, questo problema è stato risolto.
    2. Un altro caso in cui ho ricevuto questo errore è stato quando stavo cercando di implementare il mio servizio in JBoss creando un file di guerra. Ho fatto l’errore di includere i file Java nelle classi .war anziché java.

    Ho dovuto aggiungere una barra in avanti alla fine di @path

     @Path ("/admin/") 

    Ok … Per me funziona bene solo assegnando la “class servlet” a com.sum.jersey.spi.container.servlet.ServletContainer, sto usando IDE (Eclipse Mars)

      Jersey Web Application com.sun.jersey.spi.container.servlet.ServletContainer 1   Jersey Web Application /frontend/*  

    ma per qualche ragione ho dovuto riavviare il mio computer per funzionare nel mio localhost. Se ancora non funziona? Devi aggiungere nel tuo web.xml questo codice tra il tag “servlet”.

      com.sun.jersey.config.property.packages the.package.name  

    “the.package.name” è il nome del pacchetto in cui sono presenti le classi. Se si utilizza IDE, aggiornare il progetto ed eseguire nuovamente in Tomcat. ancora non funziona? riavvia il tuo computer e funzionerà.

    Un’altra cosa da verificare è una combinazione di voci precedenti

    Puoi avere nel tuo file web.xml questo:

      com.sun.jersey.config.property.packages com.acme.rest  

    e tu puoi avere

      resteasy.scan false   resteasy.scan.providers false   resteasy.scan.resources false  

    ma non puoi averli entrambi o ottieni questo tipo di errore. La correzione in questo caso sarebbe di commentare l’uno o l’altro (probabilmente il primo frammento di codice sarebbe stato commentato)

    sì aggiungendo il parametro init per com.sun.jersey.config.property.packages ha risolto questo problema per me.

    stava unendo i servizi di rest della maglia in un’applicazione molla basata su Maven e ha ottenuto questo errore.

    Ho anche avuto questo tipo di errore, per favore prenditi cura delle configurazioni in xml.

    Ho scritto com.sun.jersey.comfig.property.packages

    Invece di com.sun.jersey.config.property.packages

    Dopo la correzione sta funzionando.

    quel problema è perché la maglia non può trovare un pacchetto di dipendenza per il tuo servizio di rest dichiarato

    controlla la distribuzione del tuo pacchetto di progetto e asserisci che è uguale al valore del tuo parametro web.xml

    Nel mio caso ho aggiunto i vasi due volte nel percorso di costruzione dopo l’importazione dalla guerra. Ha funzionato bene dopo aver rimosso i vasi aggiuntivi che mostravano le pagine degli errori dei descrittori di distribuzione degli errori

    aggiungendo

      com.sun.jersey.config.property.packages service.package.name  

    Probabilmente è troppo tardi ma è così che ho risolto questo errore.

    Se questa soluzione non funziona,

      com.sun.jersey.config.property.packages /* Name of Package where your service class exists */  

    In eclipse:

    Fai clic con il pulsante destro del mouse sul progetto oppure seleziona Progetto e premi Alt + Invio Sul lato sinistro della finestra aperta, trova il percorso di costruzione Java

    Seleziona Librerie dal pannello a destra: Se c’è qualcosa che è corrotto o mostra il segno di croce sopra i vasi, rimuovi e aggiungi di nuovo lo stesso jar

    Applica e chiudi

    Ricostruisci il tuo progetto

    La causa principale di questa eccezione è:

    Non hai indicato il nome del pacchetto corretto in cui si utilizza @Path o si è dimenticato di configurare nel file web.xml / Configuration (Nome pacchetto file Classe API Rest, Nome pacchetto class)

    Controlla questa configurazione all’interno di