7

我有一个没有 UI 的 GWT 实用程序模块(因此,没有从com.google.gwt.core.client.EntryPoint.

[ERROR] Module has no entry points defined

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

4

5 回答 5

5

实用程序 Jar 不需要由 GWT 编译。

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

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

于 2009-11-27T13:42:45.363 回答
4

不,您不需要入口点。这是我的一个没有模块的示例:

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

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

于 2009-11-27T12:50:21.517 回答
0

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

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

对于新插件,它是

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

由于插件找不到要编译的模块,它搜索“*.gwt.xml”并将它们全部编译为“UI 模块”(必须有一个入口点)。

于 2009-11-27T13:07:49.127 回答
0

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

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

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

于 2009-12-04T21:13:06.670 回答
0

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

于 2010-05-20T07:11:09.503 回答