我正试图将现有的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