2010-10-07 4 views
0

J'essaie d'exposer certains services groovy avec jersey et girazzly. mais j'ai une erreur wierd quand je lance mon conteneur de servlet. Voici l'extrait qui Lauch il:impossible de trouver com.sun.grizzly.tcp.http11.GrizzlyAdapter.setResourcesContextPath (String)

ServletAdapter adapter = new ServletAdapter(); 
Injector injector = Guice.createInjector(new GmediaModule()); 

GuiceContainer container = new GuiceContainer(injector); 
adapter.setServletInstance(container); 
adapter.setContextPath("gmedia") 

adapter.addInitParameter("com.sun.jersey.config.property.packages", 
        "gmedia.api.music.resources"); 

threadSelector = GrizzlyServerFactory.create(BASE_URI, adapter); 

Voici l'erreur:

java.lang.NoSuchMethodError: com.sun.grizzly.tcp.http11.GrizzlyAdapter.setResourcesContextPath(Ljava/lang/String;)V 

L'erreur se produit au grizzlyServeletFactory.create. Je suis en train de dire pourquoi cette erreur se produit depuis que cette méthode existe sur cet objet?

+0

Où est défini BASE_URI? –

+0

sur la même classe, il ressemble à ceci statique final String BASE_URI = "http: // localhost: 6060 /"; – benzen

Répondre

0

désolé j'étais un idiot. Voici ce que j'utilise maintenant GrizzlyWebServer ws = new GrizzlyWebServer (9999);

ServletAdapter adapter = new ServletAdapter(); 
Injector injector = Guice.createInjector(new GmediaModule()); 

GuiceContainer container = new GuiceContainer(injector); 
adapter.setServletInstance(container); 


adapter.addInitParameter("com.sun.jersey.config.property.packages", 
        "gmedia.api.music.resources"); 

ws.addGrizzlyAdapter(adapter); 
ws.start() 
+0

Pourquoi cela résout-il votre problème? J'ai une erreur similaire en utilisant JerseyTest – IttayD

+0

OOps désolé, il manque quelque chose. La variable ws est un GrizzlyWebServer. ws = nouveau GrizzlyWebServer (SERVER_PORT); Auparavant, je n'utilisais pas ce type du tout. Je pense que c'est là que mon erreur appartient. – benzen

Questions connexes