Jersey REST Problem mit Eclipse



  • Hallo Leute,

    aktuell wollte ich mich in die Thematik REST-Services mit Jersey einarbeiten bin da aber auf ein paar Probleme gestossen. Ich habe diverse Tutorials durchgearbeitet, habe aber keins zum laufen bekommen. Meine Vorgehensweise ist die Folgende:
    1. Dynamic Web Project angelegt (Name: WebService).
    2. Alle Jersey .jar in den WEB-INF/lib Ordner des Projects geholt und in den Buildpath eingebunden.
    3. Eine web.xml Datei angelegt und wie folgt veraendert:

    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
        xmlns="http://java.sun.com/xml/ns/javaee" 
        xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" 
        xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" 
        id="WebApp_ID" version="2.5">
      <display-name>webservice</display-name>
    <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>de.webservice</param-value>
    	</init-param>
    	<load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
    	<servlet-name>Jersey REST Service</servlet-name>
    	<url-pattern>/*</url-pattern>
    </servlet-mapping>
    </web-app>
    

    Wobei de.webservice mein Package ist.
    4. Eine HelloWorld Klasse angelegt welche so aussieht:

    package de.webservice;
    
    import javax.ws.rs.*;
    import javax.ws.rs.core.MediaType;
    
    @Path("/helloWorld")
    public class HelloWorld {
    
    	@GET
    	@Produces(MediaType.TEXT_PLAIN)
    	public String hello(){
    		return "Hello World";
    	}
    
    }
    

    Zusaetzlich habe ich die Jersey .jar DAteien in den lib Ordner meines Lokalen Tomcat gepackt und wenn ich die Anwendung nun aber auf dem Tomcat ueber Eclipse starten will so erhalte ich folgende Fehlermeldung:

    Mrz 31, 2012 4:05:06 PM org.apache.catalina.core.StandardContext loadOnStartup
    Schwerwiegend: Servlet /WebService threw load() exception
    java.lang.ClassNotFoundException: com.sun.jersey.spi.container.servlet.ServletContainer
    	at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1671)
    ...
    

    Wenn ich die Rest-Funktion nun ueber den Browser und der URL localhost:8080/Webservice/helloWorld aufrufen will dann erhalte ich einen 404 Error.

    Kann mir irgendjemand weiterhelfen?



  • Wie es immer so ist, nachdem man die Frage postet bekommt man die Loesung.
    Ich hatte eben mal die jersey.core und jersey.server aus dem Libverzeichnis gehauen und dafuer die jersey.bundle mit reingenommen und siehe da es klappt nun endlich.


Anmelden zum Antworten