【问题标题】:My first GWT Module我的第一个 GWT 模块
【发布时间】:2011-05-29 23:24:18
【问题描述】:

我创建了一个模块来跨几个项目共享代码。

我创建了一个 GWT 项目:Framework。然后我在项目中创建了一个模块 com.framework.Framework。框架项目包含 com.framework.client 包中的客户端代码和 com.framework.server 包中的服务器代码。

我尝试通过 - 将项目添加到 Java 构建路径 - 添加到模块的定义中

当我运行消费项目时,我在模块的服务器代码中使用的框架类得到 NoClassDefFoundErrors。

我错过了什么?

如果我将框架项目的 WEB-INF\classes 内容打包并将其放入使用项目的 WEB-INF\lib 文件夹,并将其添加到构建路径中,它似乎可以工作,但我没有看到一种使框架类在使用项目中保持最新的方法。

【问题讨论】:

    标签: gwt


    【解决方案1】:

    请确保您通过菜单 New->Module 创建了 gwt.xml 文件,并且在此 gwt.xml 文件中,您必须声明您的入口点类。

    【讨论】:

    • 谢谢。我使用了 New->Module 菜单项并添加了一个入口点。当我运行它时,它会被加载(我看到一个 GWT.log)。我的问题是我有 RemoteServiceServlet,它扩展了一个框架类并在 Web 应用程序尝试加载时获取 ClassNotFoundErrors。
    • 请在此处查看教程:code.google.com/intl/vi/webtoolkit/doc/latest/… 也许您声明了错误的 RPC 服务方式,或者缺少 servlet-mapping
    • 它设置正确。如果我将框架项目的 WEB-INF\classes 内容打包并将其放入使用项目的 WEB-INF\lib 文件夹,并将其添加到构建路径中,它似乎可以工作,但我没有看到一种方法在消费项目中保持框架类是最新的。
    • 我的意思是你必须在你的消费项目中声明 servlet-mapping 和 gwt.xml ......例如,在 jar 文件中你有 com.yoursite.app 包,你必须创建 MyApp.gwt.xml在 com.yoursite.app 在您使用项目的 src/ 文件夹中(不在 jar 文件中)。并且在您的消费项目的 web.xml 中,您必须为您的框架 jar 文件声明 servlet-mapping(而不是在 jar 文件中)。 注意:请把源代码jar起来(GWT不能用class文件编译你的GWT框架,它只能把源文件编译成JS)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-25
    • 1970-01-01
    相关资源
    最近更新 更多