Java Jersey Rest: Keine Anbieterklassen gefunden. (404 Fehler beim Zugriff auf die URL)

8
  

Bearbeiten: Ich hatte nicht bemerkt, dass alle Anfragen zuerst in "Apache" gingen und dann zu Tomcat weitergeleitet wurden. Ich habe eine neue Umleitung in der Datei apache2.conf hinzugefügt. Einzelheiten finden Sie in der akzeptierten Antwort .

Ich habe genau das gleiche Problem wie diese Frage. Jersey REST Die ResourceConfig-Instanz enthält nicht Alle Root-Ressourcenklassen Der Benutzer hat die Frage jedoch nie beantwortet.

Ich benutze Tomcat, ohne Maven. Ich folgte diesem Tutorial. Ссылка

Ich habe Änderungen an web.xml vorgenommen, wie im Artikel
beschrieben Das neue Servlet- und Servlet-Mapping wurde mit dem richtigen Paketnamen erstellt.

%Vor%

Ich habe die folgenden Gläser zu tomcat bereitgestellt

%Vor%

Das Tomcat-Startprotokoll hat die folgenden Ausnahmen.

%Vor%

Wenn ich auf die URL zugreife, bekomme ich einen 404. Ссылка

Der Code:

%Vor%

Ich sehe keine anderen Ausnahmen in den Protokollen

    
kensen john 05.07.2011, 15:32
quelle

3 Antworten

4

Dieses Problem wurde wie folgt behoben. Mein localhost wurde mit dem Webserver "Apache" eingerichtet, der alle Anfragen an Tomcat weiterleitet. Da "Jersey" ein neues Servlet verwendet, musste ich speziell für dieses Servlet eine separate Umleitung erstellen.

In Linux

%Vor%

hinzufügen:

%Vor%     
kensen john 06.07.2011, 13:22
quelle
8

Vergewissern Sie sich, dass Sie die richtige URL haben:

Die Tomcat-Manager-Anwendung leitet Sie gerne zur Root-URL des Servlets weiter. (Sie nehmen an, das ist "Jersey" mit Kapital J.) Ссылка

Dann können Sie den "Rest" -Teil überspringen, indem Sie das URL-Muster in der Servlet-Zuordnung der web.xml auf "/ *" setzen (ja, es gab einmal einen Fehler in Jersey, aber das ist alte Geschichte)

Dann können Sie "application.wadl" anhängen, um eine Beschreibung der verfügbaren Ressourcen zu erhalten. Theoretisch: Ссылка

    
Szocske 05.07.2011 21:04
quelle
1

Standardmäßig verwendet Tomcat den Namen der War-Datei oder den Namen des obersten Verzeichnisses des explodierten Krieges als root-Kontext, sofern dies nicht in catalina_home / conf / server.xml, catalina_home / conf / context.xml oder in META-INF / der Anwendung definiert ist. context.xml-Datei.

Um auf Ссылка zuzugreifen, sollte der Kontexteintrag <Context path="/Jersey" docBase="myapp"/> und Ihre Ressource @Path("/rest/hello") haben.

    
Abidi 05.07.2011 21:54
quelle

Tags und Links