我正試圖將現有的vaadin
項目部署到GAE
。 但我不斷收到錯誤:ClassNotFoundException: com.vaadin.server.GAEApplicationServlet
如何在GAE上部署vaadin項目?
這是我做了什麼:
註釋掉
@WebServlet
註釋在我extends UI
類工程中的屬性,檢查:使用Google App Engine。從而將一些庫添加到 我的
WEB-INF/lib
文件夾中:gwt-servlet, jsr107, some appendine-*
。創建的
appengine-web.xml
創建的
web.xml
:<servlet> <servlet-name>MyProject</servlet-name> <servlet-class>com.vaadin.server.GAEApplicationServlet</servlet-class> <init-param> <param-name>UI</param-name> <param-value>de.mypath.ApplicationUI</param-value> </init-param> </servlet>
<servlet-mapping>
<servlet-name>MyProject</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
如果我使用com.vaadin.server.VaadinServlet
並在本地tomcat上運行,那麼我可以運行我的項目。 但是在碼頭GAE上運行(或者在雲中部署)我得到上面提到的ClassNotFountException
。
這裏有什麼問題?
抱怨的類來自vaadin-servlet.jar。我已經在WEB-INF/lib文件夾中複製了它(在所有其他庫中)以進行測試,但沒有改變任何東西... – membersound
我能想到的唯一的其他事情是GAE中不允許有一些類,儘管它似乎GAEApplicationServlet,因爲名稱不應該引用任何這些。最新的vaadin-servlet.jar有多新穎?也許嘗試以前的版本? – EGHM
使用7.1.1,也試過7.1.0。但是,由於我使用Servlet 3.0,所以不能再回頭了...... – membersound