如何编译没有入口点的模块?

发布于 2024-08-13 03:42:11 字数 249 浏览 4 评论 0原文

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

[ERROR] Module has no entry points defined

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

I have a utility module for GWT which doesn't have an UI (hence, there is no class which inherits from com.google.gwt.core.client.EntryPoint. When I try to compile this module with GWT 1.7.1, I get this error:

[ERROR] Module has no entry points defined

How do I get rid of this error? Do I really have to define a dummy entry point? How did Google ever compile their own utility modules???

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

我只土不豪 2024-08-20 03:42:11

Utility Jars 不需要由 GWT 编译。

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

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

Utility Jars do not need to be compiled by GWT.

If you just want to reuse this as a library in other GWT applications then you just have to jar the .class and .java files in one jar and make sure that you have a .gwt.xml that says where the client source is. If you follow the conventions (client classes in client) then you can get away with just otherwise you need to specify a tag for the client package

Then make sure that you inherit this .gwt.xml in the projects where you want to compile an entry point.

独夜无伴 2024-08-20 03:42:11

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

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

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

No you don't need an EntryPoint. Here is an example of one of my modules that doesn't have one:

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

The short answer is you don't compile code in modules. GWT just needs them as source code. When you compile your main module (the one with the entry point) it uses the source from any other modules you have inherited in your .gwt.xml file to compile the entire project.

江城子 2024-08-20 03:42:11

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

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

对于新插件,

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

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

I'm using the gwt-maven-plugin Maven2 plugin to compile my code. I migrated the code from an old version of the maven-googlewebtoolkit2-plugin plugin. For the old plugin, I had to specify which modules were entry points like so:

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

For the new plugin, it's

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

Since the plugin couldn't find which modules to compile, it search for "*.gwt.xml" and compiled all of them into "UI modules" (which must have an entry point).

我不在是我 2024-08-20 03:42:11

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

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

那么 pom 只是将该事物称为依赖项。

We've got a utilities module, which constructs & handles some common UI elements, and a bunch of javascript/json common tasks.

It looks like what we did (also migrated from the totsp plugin to the codehaus plugin somewhere along the line) was to include an entry point in the util module; it was just empty. (It includes the comment "Intentional no-op").

Then the pom just refers to the thing as a dependency.

魄砕の薆 2024-08-20 03:42:11

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

If using eclipse GWT plugin just remove the module without an EntryPoint from the moduleslist that pops up just before compiling.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文