17

谁能解释 Eclipse GWT 插件在哪里定义它的入口点?

为了让我的旧 GWT 项目再次使用 GWT 2.0,我在 Eclipse 中创建了一个默认的 GWT 2.0 项目,并且能够成功运行它。它是一个询问名称并调用服务器上的“问候”servlet,它会响应等等……到目前为止一切都很好。

然后,我将旧 maven GWT 项目中的所有类移植到这个新的 GWT 项目中,以期让 RPC 调用正常工作。它有很多依赖项,所以我还复制了 maven pom.xml,注释掉了 pom 中所有与 gwt 相关的插件,并设法让 Eclipse M2Eclipse maven 插件能够识别 pom 并采用所有 maven 依赖项。Eclipse 中的所有问题现在都已解决,看起来不错。

但是,当我单击项目的 GWT 编译图标时,它会弹出一个“GWT 编译”对话框,现在要求我“添加一个入口点模块”。此对话框中没有列出可供选择的入口点。这很令人沮丧,因为我保留了完全相同的 GWTApp.gwt.xml 并将我的代码移动到以前工作的自动生成的 GWTApp.java 类中。

我无法想象为什么 Eclipse 插件不查看 GWTApp.gwt.xml 文件来确定入口点是什么。

谁能解释这些入口点是如何定义的或建议项目停止工作的原因?

谢谢!

4

6 回答 6

20

我确定以下是问题和解决方案。我已经做 GWT 大约 6 年了。

每当您将现有的 maven(即从 Mojo 生成的 archtype,但可能是其他的)项目导入 eclipse 时,您将获得一个损坏的配置,在您修复它之前不允许您进行调试。但修复很简单。发生的情况是构建路径将设置为从 '[proj]/src/main/resources' 中排除所有文件,这具有从 eclipse 中隐藏 [proj].gwt.xml 模块文件的效果。所以所有寻找这些模块的 GWT 对话框都看不到它们!因此,您甚至无法创建有效的调试配置。

这是修复:

右键单击该项目,然后打开 Properties -> Build Path dialog -> Source Tab,查找以 '.../src/main/resources' 结尾的那个,你会看到它已经排除了:. 因此,仅突出显示该条目并删除“ ”,使其显示为“排除:(无)”。现在,GWT 的对话框(即调试配置对话框)都将看到您的模块文件,并且一切正常。

于 2015-01-11T00:30:05.970 回答
8

可以肯定的是,这与这种情况不同,排除过滤器有点太大了?

<classpathentry kind="src" output="target/classes" path="src/main/java"/>
<classpathentry excluding="**" kind="src" output="target/classes" 
   path="target/base-resources"/>

我认为您的“ target/base-resources”目录中可能有一个过于激进的排除过滤器。
您似乎有一个“ **”的排除过滤器。这不符合一切吗?

你说的对!这就是问题所在!:)))
我不知道排除过滤器是什么,并且不知何故它是在开发过程中自动添加的。

于 2010-02-26T08:01:29.117 回答
6

感谢您对我的问题提出的建议-您提示我找到答案。我查看并没有任何排除过滤器,但检查了项目属性中的 Java 构建路径。

当我添加 maven 依赖项时,它必须隐式更改 GWT eclipse 项目的已定义源目录。(可能是 src/main/java 或任何冗长的 maven 默认路径)。Eclipse 没有提示 Java 类不在项目构建路径上。一旦我为项目明确定义了 src 目录,gwt.xml 模块就会出现在 GWT 编译对话框中!

进入下一个障碍......因为它仍然无法正常工作!:(

谢谢你的帮助!

于 2010-02-27T21:58:18.157 回答
3

Sonatype 的 eclipse maven 插件因许多事情而臭名昭著。其中之一是在您允许它重建 eclipse 类路径时排除给定模块的资源 maven 文件夹中的所有文件。

m2eclipse 可能是我使用 Intellij 重新评估的唯一原因......

于 2011-06-15T20:56:41.620 回答
3

我有同样的问题。

右键单击项目并选择属性......

有空对话框(没有建议的入口点)。
经过一番挖掘,我发现 mymodule.gwt.xml 文件在 .classpath 中被意外标记为“lib”(项目文件夹根目录中的eclipse项目文件)。我似乎在 .classpath 自动生成上被标记为“lib”(我正在导入干净的 maven GWT 项目,而不是 eclipse 项目)。

只需从 .classpath 文件中删除带有 mymodule.gwt.xml 的行,因为它位于 src/main/resources 中,即正常的“src”类路径。

于 2013-01-30T20:28:15.913 回答
1

右键单击项目并选择属性。展开并选择 Google -> Web Toolkit。右侧窗格将有一个名为Entry Point Modules的部分。单击添加按钮并选择您的 .gwt.xml 文件。

于 2010-02-26T15:28:03.193 回答