Pertanyaan Instance ResourceConfig tidak berisi kelas sumber daya root apa pun


Apa yang salah di sini?

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)

Menyaring:

<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>

Kode:

@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


asal


Jawaban:


Sudahkah Anda mencoba menambahkan

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

definisi SpringServlet Anda? Jelas mengganti my.package.name dengan paket yang AdminUiResource masuk dan pastikan itu ada di classpath.


77
2017-12-10 22:51



Saya baru di Jersey - saya memiliki masalah yang sama, Tapi ketika saya menghapus "/" dan hanya menggunakan @path ("admin") itu berhasil.

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

30
2018-01-25 07:08



Ini berarti, tidak dapat menemukan kelas yang dapat dieksekusi sebagai layanan web jersey RESTful.

Memeriksa:

  • Apakah 'com.sun.jersey.config.property.packages'Tidak ada di Anda web.xml.
  • Apakah nilai untuk 'com.sun.jersey.config.property.packages' param hilang atau tidak valid (paket yang disebutkan tidak ada). Ini harus menjadi paket di mana Anda telah menempatkan kelas POJO Anda yang berjalan sebagai layanan jersey.
  • Apakah ada setidaknya ada satu kelas POJO, yang memiliki metode dengan catatan @Path atribut.

26
2018-05-13 16:25



ANDA PERLU MENAMBAHKAN NAMA PAKET AT

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

JUGA SATU HAL SUSUS SAYA TELAH MELIHAT,
  Saya perlu menyegarkan proyek saya setelah MAVEN BUILD lain itu menunjukkan saya kesalahan yang sama.
Silakan komentar Jika Anda tahu alasan mengapa kita perlu me-refresh proyek?


26
2017-10-31 06:15



Paket sumber daya Anda harus berisi minimal satu pojo yang dianotasi dengan @Path atau memiliki setidaknya satu metode yang dianotasikan dengan @Path atau penentu metode permintaan, seperti @GET, @PUT, @POST, atau @DELETE. Metode sumber daya adalah metode kelas sumber daya yang dianotasikan dengan penentu metode permintaan. Ini menyelesaikan masalah saya ..


12
2018-02-01 09:00



Saya menemukan masalah ini dengan JBOSS EAP 6.1. Saya bisa menyebarkan kode saya melalui gerhana ke server JBOSS tetapi setelah saya mencoba untuk menyebarkan file sebagai file WAR ke JBOSS, saya mulai mendapatkan kesalahan ini.

Solusinya adalah mengkonfigurasi web.xml agar berfungsi dengan JBOSS dengan memungkinkan keduanya bekerja bersama.

Dua baris berikut ini dikomentari di web.xml untuk memungkinkan JBOSS melakukan konfigurasi sendiri

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

Dan kemudian tambahkan params konteks berikut ini

<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



Pada dasarnya saya mengoreksinya seperti di bawah ini dan semuanya berjalan dengan baik.

<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



Saya mendapatkan pengecualian ini, karena ResourseConfig hilang di Web.xml.

Menambahkan:

<init-param>
    <param-name>com.sun.jersey.config.property.packages</param-name>
    <param-value>/* Name of Package where your service class exists */</param-value>
</init-param>

Kelas layanan berarti: kelas yang berisi layanan seperti: @Path("/orders")


8
2018-02-22 06:04



Saya memiliki masalah yang sama dengan mencoba menjalankan webapp dari proyek gerhana. Begitu saya menyalin file .class ke /WEB-INF/classes itu bekerja dengan sempurna.


7
2018-03-30 18:44



Saya memiliki masalah yang sama, menguji banyak contoh yang berbeda, dan mencoba semua solusi yang mungkin. Apa yang akhirnya membuatnya bekerja untuk saya adalah ketika saya menambahkan @Path("") di atas garis kelas, saya telah meninggalkannya.


5
2017-09-21 03:53