0

我正在尝试将现有vaadin项目部署到GAE. 但我不断收到一个错误:ClassNotFoundException: com.vaadin.server.GAEApplicationServlet

这就是我所做的:

  • @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上面提到的。

这里有什么问题?

4

2 回答 2

0

自从我使用 GAE 以来已经有一段时间了,但是当我使用 GAE 时,我似乎不得不自己向 WEB-INF/lib 添加一些 jar,尽管在本地一切正常。后来我会收到关于这些相同罐子的警告,但如果我删除它们,我会再次得到 NoClassDefFoundException。

于 2013-07-30T09:16:49.997 回答
0

将vaadin-server-7.5.10.jar复制到 WEB-INF/lib 并使用com.vaadin.server.GAEVaadinServlet而不是com.vaadin.server.GAEApplicationServlet解决了该问题。

于 2015-12-07T02:42:53.290 回答