Jersey java.lang.ClassNotFoundException: com.Sonne.jersey.spi.container.- servlet.ServletContainer
Ich versuche zu machen, einen Webservice mit Tomcat und Eclipse mit jersey library.
Dies ist mein service Klasse:
package com.gontuseries.university;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
@Path("/university")
public class UniversityRestWs {
@GET
@Produces(MediaType.TEXT_HTML)
public String getHtmlUniversityInfo(){
return "<html><body>test</body></html>";
}
@GET
@Produces(MediaType.TEXT_PLAIN)
public String getTextUniversityInfo(){
return "test";
}
}
- Und dies ist der Datei-web.xml
<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>com.gontuseries.university</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>Jersey REST Service</servlet-name>
<url-pattern>/rest/*</url-pattern>
</servlet-mapping>
Wenn ich testen Sie meinen service bekomme ich java.lang.ClassNotFoundException: com.Sonne.jersey.spi.container.- servlet.ServletContainer
Ich heruntergeladen jersey aus https://jersey.java.net/download.html
Kann mir jemand helfen?
Dank
- Setzen
jersey-server.jar
im classpath . - Ich habe es getan. Aber es funktioniert immer noch nicht. Ich habe auch versucht ein anderes Projekt mit anderen Bibliotheken. Ich fügte Sie in WEB-INF/lib-Ordner, und gesetzt den classpath in eclipse im Java Build Path-> Bibliotheken -> Web-app-Bibliotheken. Es scheint, ich bin nicht in der Lage, fügen Sie die externen Bibliotheken in mein Projekt.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Für mich das problem war, dass der server hatte keine jars in das lib-Ordner.
Stellen Sie sicher, es hat Zugang zu allen Abhängigkeiten:
Projekt -> Eigenschaften -> Entwicklung von Montage -> hinzufügen -> java build path-Einträge.
Hatte ich dasselbe Problem. Wir müssen Sie nur nutzen liefern build path in Eclipse. Das funktionieren würde.
Stellen Sie sicher, es hat Zugriff auf alle Abhängigkeiten in: Projekt -> Eigenschaften -> Entwicklung von Montage -> hinzufügen -> java build path-Einträge --> maven dependency
Ich nur einen jersey bundle-Abhängigkeit
"Abhängigkeit
Abhängigkeit"
Wenn Sie mit maven, am besten paar einfache Schritte ausführen Ihrer Anwendung
Mann, ich hatte das gleiche problem. Ich lösen-id hinzufügen jersey-servlet-1.18.jar in das WEB-INF/lib.
Dann wird dieser Ordner sah wie dieser:
Denken Sie daran, fügen Sie alle diese Gläser zu Ihrem build-Pfad
Sind Sie mit Jersey 2.x? Wenn dem so ist, die
ServletContainer
Klasse wurde verschoben, um ein anderes Paket. Dieser Artikel hat einige gute Informationen, wie man ändern Sie Ihre web.xml bei der Migration von Jersey 1,7-2.x:https://java.net/projects/jersey/lists/users/archive/2013-06/message/91.
Den
com.sun.jersey.spi.container.servlet.ServletContainer
Klasse ist, die in der "jersey-servlet.jar" so sollten Sie es, um WEB-INF/lib zusammen mit der "jersey-server.jar".Ich habe den gleichen Fehler -"java.lang.ClassNotFoundException : com.Sonne.jersey.spi.container.- servlet.ServletContainer", während Sie versuchen zum ausführen von restful-jersey-web-service in tomcat aus eclipse heraus.
Folgenden Schritte hat mir geholfen, das Problem zu beheben :
Korrigieren Sie die maven-dependency zur richtigen version der abhängigen jars
Rechten Maustaste auf das eclipse-Projekt -> Maven -> Update Projekt
Sicherzustellen, dass in der eclipse-properties-Entwicklung-Montage ist korrekt konfiguriert. Rechtsklick auf Projekt - Eigenschaften -> Entwicklung von Montage -> Hinzufügen -> java build path-Einträge -> maven dependency
Wenn Sie mit JERSEY-jaxrs-ri-2.9 version zip, Verwenden Sie die unten gegeben WEB.XML Datei.
War ich immer diesen Fehler in einem Eclipse-Projekt, das früher geklappt hat, läuft auf Tomcat 7.0. Schließlich habe ich es gelöst, indem Sie entfernen das Projekt von Tomcat und das hinzufügen es wieder zurück.
Oben genannten Lösungen sind korrekt, aber auch nach diesen änderungen war ich immer diesen Fehler. Also, was ich Tat, war entfernt alle maven heruntergeladen Jersey Gläser-und update-Projekt wieder mit neuen maven-Abhängigkeit und, dass mein Problem gelöst
Bekommen wir diese Fehlermeldung, da der build-path-Problem und veraltet Abhängigkeit Namen.Neueste beginnen von org.glassfish und nicht com.Sonne.Nach dem Austausch mit den neuesten Abhängigkeiten für 2.0, sollten Sie "Server-Runtime" - Bibliotheken im Build Path.
"java.lang.ClassNotFoundException: com.Sonne.jersey.spi.container.- servlet.ServletContainer"
Bitte Folgen Sie den nachstehenden Schritten zur Behebung Klasse nicht gefunden Ausnahme.
Rechtsklick auf Projekt --> Build Path --> Build Path --> Bibliothek Hinzufügen --> Server-Runtime --> Apache Tomcat v7.0
Dank,
Sachin G N