我正在尝试将现有的vaadin
项目部署到GAE
。
但我经常收到错误:ClassNotFoundException: com.vaadin.server.GAEApplicationServlet
这就是我所做的:
在@WebServlet
班级
extends UI
注释
projec属性,已选中:使用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
。
这里有什么问题?
答案 0 :(得分:0)
自从我使用过GAE以来已经有一段时间了,但是在我看来我自己必须在WEB-INF / lib中添加一些罐子,尽管本地一切都很好。后来我会得到关于那些相同罐子的警告,但如果我删除它们,我会再次得到NoClassDefFoundException。
答案 1 :(得分:0)
将 vaadin-server-7.5.10.jar 复制到WEB-INF / lib并使用 com.vaadin.server.GAEVaadinServlet
代替com.vaadin.server.GAEApplicationServlet
解决了问题。