如何在没有EntryPoint的情况下编译模块?

时间:2009-11-27 11:26:12

标签: gwt entry-point

我有一个GWT的实用程序模块没有UI(因此,没有继承自com.google.gwt.core.client.EntryPoint的类。当我尝试使用GWT 1.7.1编译此模块时,我收到此错误:

[ERROR] Module has no entry points defined

如何摆脱此错误?我真的必须定义一个虚拟入口点吗? Google是如何编译自己的实用程序模块的?

5 个答案:

答案 0 :(得分:5)

实用工具罐不需要由GWT编译。

如果你只想在其他GWT应用程序中重用它作为库,那么你只需要在一个jar中包装.class和.java文件,并确保你有一个.gwt.xml来说明客户端源的位置是。如果您遵循约定(客户端中的客户端类),那么您可以放弃,否则您需要为客户端包指定标记

然后确保在要编译入口点的项目中继承此.gwt.xml。

答案 1 :(得分:3)

不,您不需要EntryPoint。以下是我的一个模块中没有一个模块的示例:

<?xml version="1.0" encoding="UTF-8"?>
<module>
    <source path="grid" />
    <inherits name="com.google.gwt.user.User"/>
</module>

简短的回答是你不要在模块中编译代码。 GWT只需要它们作为源代码。编译主模块(具有入口点的模块)时,它使用您在.gwt.xml文件中继承的任何其他模块的源来编译整个项目。

答案 2 :(得分:0)

我正在使用gwt-maven-plugin Maven2插件来编译我的代码。我从旧版maven-googlewebtoolkit2-plugin插件迁移了代码。对于旧插件,我必须指定哪些模块是这样的入口点:

                <compileTargets>
                    <param>com.project.module.Module</param>
                </compileTargets>

对于新插件,它是

                <module>com.project.module.Module</module>

由于插件无法找到要编译的模块,因此它会搜索“* .gwt.xml”并将所有模块编译为“UI模块”(必须有一个入口点)。

答案 3 :(得分:0)

我们有一个实用程序模块,它构建了&amp;处理一些常见的UI元素,以及一堆javascript / json常见任务。

看起来我们所做的(也从totsp插件迁移到沿线某处的codehaus插件)是在util模块中包含一个入口点;它只是空的。 (它包括评论“故意无操作”)。

然后pom只是将事物称为依赖。

答案 4 :(得分:0)

如果使用eclipse GWT插件,只需在编译之前弹出的moduleslist中删除没有EntryPoint的模块。