2010-11-02 40 views
0

我有一個共同的GWT應用程序正在使用(試圖)Rocket框架來實現一個CometServerServlet。 後,我已經註冊了我的web.xml中的servlet和我app.gwt.xml,像這樣:爲什麼Jetty沒有從Rocket包中找到CometServerServlet?

App.gwt.xml:

<servlet path="/server" class="myapp.server.MyCometServlet"/>

的web.xml

<servlet> 
<servlet-name>myCometServlet</servlet-name> 
<servlet-class>myapp.server.MyCometServlet</servlet-class> 
</servlet> 

<servlet-mapping> 
<servlet-name>myCometServlet</servlet-name> 
<url-pattern>/myapp/server</url-pattern> 
</servlet-mapping> 

Jetty顯然沒有找到我的MyCometServlet擴展的CometServerServlet:

WARNING: Error starting handlers java.lang.NoClassDefFoundError: rocket/remoting/server/comet/CometServerServlet

Caused by: java.lang.ClassNotFoundException: rocket.remoting.server.comet.CometServerServlet

這很奇怪,因爲我已經將Rocket jar添加到了我的項目中。

有人可以解釋爲什麼會發生這種錯誤嗎?

我可以理解,如果我以一種錯誤的方式「註冊」了servlet,但是在什麼時候Jetty(或者?)尋找CometServerServlet並且找不到它?

回答

0

將jar添加到項目中(例如在某些IDE中)將刪除編譯錯誤,因爲jar可以在編譯時找到。

但Jetty在運行時需要庫,而通常的方法是將它放在項目的WEB-INF/lib文件夾中。

當然,確保事後重新部署應用程序(例如,如果您使用開發模式,請在「開發模式」視圖中單擊刷新)。

+0

非常感謝你我非常感謝這些信息。 – Melladric 2010-11-02 22:05:40

相關問題