Java 如何在GAE上部署vaadin项目?
我正在尝试将现有的Java 如何在GAE上部署vaadin项目?,java,google-app-engine,vaadin,Java,Google App Engine,Vaadin,我正在尝试将现有的vaadin项目部署到GAE。 但是我不断地得到一个错误:ClassNotFoundException:com.vaadin.server.GAEApplicationServlet 这就是我所做的: 注释掉了我的扩展UI类中的@WebServlet注释 项目属性,选中:使用谷歌应用程序引擎。因此,一些库被添加到 我的WEB-INF/lib文件夹:GWTServlet,jsr107,一些附录-* 创建了appengine web.xml 创建web.xml: <ser
vaadin
项目部署到GAE
。
但是我不断地得到一个错误:ClassNotFoundException:com.vaadin.server.GAEApplicationServlet
这就是我所做的:
- 注释掉了我的
类中的扩展UI
注释@WebServlet
- 项目属性,选中:使用谷歌应用程序引擎。因此,一些库被添加到
我的
文件夹:WEB-INF/lib
GWTServlet,jsr107,一些附录-*
- 创建了
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>
我的项目 com.vaadin.server.GAEApplicationServlet 用户界面 de.mypath.ApplicationUI
MyProject
/*
如果我使用com.vaadin.server.VaadinServlet
并在本地tomcat上运行,我可以很好地运行我的项目。
但是在jetty GAE上运行(或者在云中部署),我得到了上面提到的ClassNotFountException
这里出了什么问题?我已经有一段时间没有使用GAE了,但在我年轻的时候,我似乎不得不自己给WEB-INF/lib添加一些JAR,尽管本地的一切都很好。后来我会收到关于那些罐子的警告,但是如果我删除它们,我会再次得到NoClassDefFoundException。将vaadin-server-7.5.10.jar复制到WEB-INF/lib,并使用
com.vaadin.server.GAEVaadinServlet
而不是com.vaadin.server.GAEApplicationServlet
解决了这个问题。投诉的类来自vaadin-servlet.jar。我已经在WEB-INF/lib文件夹中复制了它(在所有其他库中),用于测试它,但没有更改任何内容……我唯一能想到的是GAE中不允许使用某些类,尽管它似乎是GAEApplicationServlet,因为它的名称不应该引用任何这些类。最新的vaadin-servlet.jar有多新?也许可以尝试以前的版本?使用7.1.1,也尝试7.1.0。但是不能再回头了,因为我使用Servlet 3.0,这在以前是不受支持的。。。