Intégré jetée avec des Maillot ou resteasy
Je veux faire des services RESTful l'aide d'embedded jetée avec JAX-RS (soit resteasy ou jersey).
Je suis en train de créer avec maven/eclipse de l'installation.
si j'essaie de suivre http://wikis.sun.com/pages/viewpage.action?pageId=21725365 lien que je ne suis pas en mesure de résoudre l'erreur de ServletHolder sh = new ServletHolder(ServletContainer.class);
public class Main {
@Path("/")
public static class TestResource {
@GET
public String get() {
return "GET";
}
}
/**
* @param args the command line arguments
*/
public static void main(String[] args) throws Exception {
ServletHolder sh = new ServletHolder(ServletContainer.class);
/*
* For 0.8 and later the "com.sun.ws.rest" namespace has been renamed to
* "com.sun.jersey". For 0.7 or early use the commented out code instead
*/
//sh.setInitParameter("com.sun.ws.rest.config.property.resourceConfigClass",
//"com.sun.ws.rest.api.core.PackagesResourceConfig");
//sh.setInitParameter("com.sun.ws.rest.config.property.packages",
//"jetty");
sh.setInitParameter("com.sun.jersey.config.property.resourceConfigClass",
"com.sun.jersey.api.core.PackagesResourceConfig");
sh.setInitParameter("com.sun.jersey.config.property.packages",
"edu.mit.senseable.livesingapore.platform.restws");
//sh.setInitParameter("com.sun.jersey.config.property.packages",
//"jetty");
Server server = new Server(9999);
ServletContextHandler context = new ServletContextHandler(server, "/",
ServletContextHandler.SESSIONS);
context.addServlet(sh, "/*");
server.start();
server.join();
//Client c = Client.create();
//WebResource r = c.resource("http://localhost:9999/");
//System.out.println(r.get(String.class));
//
//server.stop();
}
}
même ce n'est pas de travail.
quelqu'un peut-il me suggérer quelque chose/tutoriel/exemple ?
OriginalL'auteur rinku | 2011-09-14
Vous devez vous connecter pour publier un commentaire.
hein, page liée est ancienne - dernière mise à jour il y a 3 ans.
Avez-vous vraiment besoin de la jetée? Jersey est excellente testés intégration avec Grizzly (voir http://grizzly.java.net), qui agit également en tant qu'Glassfish couche de transport et il est possible de l'utiliser comme dans votre exemple.
Voir helloworld échantillon de Jersey espace de travail, com.soleil.jersey.les échantillons.helloworld.Classe principale commence Grizzly et "déploie" helloworld application: http://repo1.maven.org/maven2/com/sun/jersey/samples/helloworld/1.9.1/helloworld-1.9.1-project.zip .
Si vous avez vraiment besoin jetée en fonction de l'échantillon, je suppose que je devrais être en mesure de les fournir (n'hésitez pas à me contacter).
EDIT:
ok, si vous voulez vraiment de la jetée, vous pouvez l'avoir 🙂 et donne l'impression d'être assez simple. J'ai suivi les instructions de http://docs.codehaus.org/display/JETTY/Embedding+Jetty et a été en mesure de commencer helloworld exemple:
http://localhost:8080/helloworld est accessible. J'ai utilisé de la Jetée 6.1.16. Espérons que cela aide!
Vous pouvez trouver plus d'informations sur la configuration de Jersey dans le servlet de l'environnement dans le guide de l'utilisateur, voir http://jersey.java.net/nonav/documentation/latest/
EDIT:
dépendances.. mais c'est assez difficile à définir, mais elle a changé récemment, en maillot.. donc..
pré 1.10:
post 1.10:
et vous avez besoin de ce repo maven pour jetty:
ok, la réponse de mise à jour, je peux fournir (projet maven) de l'échantillon si nécessaire.
Salut, c'est génial c'est exactement ce que je voulais 🙂 mais je ne suis pas en mesure de résoudre toutes les dépendances maven .. pouvez-vous poster les toutes les dépendances nécessaires ? Merci pour l'aide 🙂
fait. Vous aurez besoin de dépendances supplémentaires pour le jersey-client, etc, mais vous devriez être capable de facilement comprendre.
Salut, j'obtiens l'erreur suivante:
HTTP ERROR 503 Problem accessing /helloworld/. Reason: com.sun.jersey.api.container.ContainerException: The ResourceConfig instance does not contain any root resource classes. Caused by: javax.servlet.UnavailableException: com.sun.jersey.api.container.ContainerException: The ResourceConfig instance does not contain any root resource classes.
OriginalL'auteur Pavel Bucek
Voici un dépôt github avec un Maven en fonction HelloWorld échantillon configuré pour Grizzly sur la branche master et pour l'Embarcadère de "la jetée" de la direction de la
https://github.com/jesperfj/jax-rs-heroku
Malgré les pensions de nom, il n'est pas Heroku spécifiques. Démarrez le serveur en exécutant la commande spécifiée dans Procfile, par exemple
OriginalL'auteur Jesper J.
Jetty embarqué avec reaseasy sans web.xml
de code java:
Services Web détecteur:
pom.xml
OriginalL'auteur Karol Król
J'ai été en mesure d'obtenir ce archetype maven et en cours d'exécution dans une demi-heure.
Voir https://github.com/cb372/jersey-jetty-guice-archetype
Suit:
Grand merci à cb372 pour la création de cet archétype. Il le rend si facile.
OriginalL'auteur Jess