2010-10-07 45 views
0

我試圖公開一些與澤西和girzzly groovy服務。但是當我啓動我的servlet容器時發生了一個奇怪的錯誤。 這裏是一個勞克它的片段:無法找到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); 

以下是錯誤:

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

在grizzlyServeletFactory.create會出現錯誤。我很擔心,爲什麼這個錯誤發生,因爲這個metod存在於這個項目上?

+0

BASE_URI在哪裏定義? – 2010-10-07 17:43:43

+0

它看起來像這個靜態最終字符串BASE_URI =「http:// localhost:6060 /」; – benzen 2010-10-07 17:52:52

回答

0

對不起,我是個白癡。這裏是我現在使用的 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

這爲什麼解決你的問題?我有一個類似的錯誤使用JerseyTest – IttayD 2010-10-10 11:24:12

+0

OOPS抱歉,它錯過了一些東西。有變量ws是一個GrizzlyWebServer。 ws =新的GrizzlyWebServer(SERVER_PORT); 以前我根本沒有使用這種類型。我認爲這是我的錯誤所屬的地方。 – benzen 2010-10-11 16:37:20