jersey und jax-rs RI2 - fehlende HttpServerFactory
Habe ich ein einfaches Projekt zu testen, JAX-RS services. Gestern habe ich heruntergeladen jersey-1.7.1 und verwendet com.Sonne.jersey.api.container.httpserver.HttpServerFactory und com.Sonne.net.httpserver.HttpServer zum erstellen einer http-server zu testen, meine Dienstleistungen, die von innen eclipse (w/o heavy weight container)
Heute, die ich heruntergeladen habe die neueste jersey jars (jaxrs-ri) und die HttpServerFactory fehlt. Sieht aus wie Sie entfernt die Klasse zwischen 1.7.1 => 2.0 aber ich kann ihn nicht finden in veraltet Abschnitt. Ich sehe grizzly2 Klassen in der API-Abschnitt (vielleicht das ist, was soll ich jetzt benutze), aber keiner der die Gläser in jaxrs-ri-bundle bieten diese Klassen. Ich habe die jersey-grizzly 1.12 jar aber es hat nur com/sun/jersey/server/impl/container/grizzly2/GrizzlyContainer Klassen und keine Umsetzung.
Also Frage zu Art Seelen
1 - mit den neuesten jaxrs-ri-Gläser aus jersey-download-Seite, was ist die empfohlene Vorgehensweise zum erstellen eines einfachen http-server zum testen von der Kommandozeile aus, wenn die 1.7.1 Weg verworfen wurde.
was jar-Dateien zum herunterladen/include und vielleicht ein kurzes Codebeispiel?
2 - Die komplette Dokumentation rund um das erstellen einer einfachen REST-service mit java ist ein großes Durcheinander. So wie Sie die richtigen Informationen zu finden?
(Wirklich, das ist kein Witz. vielleicht würde dies erfordern, einen separaten blog-post - schauen Sie sich nur den Schlamassel, geändert-API, keine Informationen auf deprecated Funktionen, Umsetzung diffs, z.B. CXF vs. jersey, API-1.x vs API 2.0, Glassfish-Containers v x.y vs. Tomcat, version x von y vs. version x2 von y, servlet 3.0 hätte diese Datei, sind Sie auf der Ausweitung der Anwendung oder nicht!)
Update
Beispiel arbeiten mit JDKHttp server
package test.jersey;
import java.net.URI;
import com.sun.net.httpserver.HttpServer;
import org.glassfish.jersey.jdkhttp.JdkHttpServerFactory ;
import org.glassfish.jersey.server.ResourceConfig;
public class ConsoleServerV2 {
static final String BASE_URI = "http://localhost:9099/";
public static void main(String[] args) throws Exception {
HttpServer server = null ;
ResourceConfig rc = new ResourceConfig(rest.Service.class);
URI endpoint = new URI(BASE_URI);
server = JdkHttpServerFactory.createHttpServer(endpoint,rc);
System.out.println("console v2.0 : Press Enter to stop the server. ");
System.in.read();
server.stop(0);
}
}
InformationsquelleAutor rjha94 | 2013-07-17
Du musst angemeldet sein, um einen Kommentar abzugeben.
Könnten Sie die JdkHttpServerFactory, die verfügbar ist in der jersey-container-jdk-http-2.0.jar:
Nicht brauchen, um Anruf-server.start()!
Ich versuche diese und läuft in NoClassDefFoundError: com/google/common/base/Funktion zur Laufzeit.
fand es hier, mirrors.ibiblio.org/pub/mirrors/maven2/com/google/collections/..., aber das scheint zu sein, ein Kaninchen-Loch... eine fehlende Abhängigkeit. Bah.
InformationsquelleAutor stck0177
Pls versuchen, diese Grizzly 2 bundle
http://search.maven.org/remotecontent?filepath=org/glassfish/grizzly/grizzly-http-servlet-server/2.3.3/grizzly-http-servlet-server-2.3.3.jar
sicher, es gibt eine Menge von Proben in Jersey Arbeitsbereich, zum Beispiel "helloworld": "github.com/jersey/jersey/tree/master/examples/helloworld
sorry aber noch eine Frage, warum grizzyly-http-servlet-server, servlet notwendig? Kann ich nicht einfach die Arbeit mit dem http-server?
servlet ist nicht notwendig, wollte nur sicher sein, falls Sie es brauchte. Hier ist schlicht httpserver-bundle: search.maven.org/remotecontent?filepath=org/glassfish/grizzly/...
InformationsquelleAutor alexey
Können Sie sich auch das bundle von hier
http://mvnrepository.com/artifact/com.sun.jersey/jersey-server/1.2
Einfach fügen Sie es zu Ihrem Ordner "library" und klicken Sie rechts auf es in das Projekt und wählen Sie "Hinzufügen einer Bibliothek."
InformationsquelleAutor sherebry