2

GWT 2.5.0/ Google Plugin for Eclipse/ m2e/ GWT-maven-plugin 2.5.0/Request Factory

我根据使用 maven的 GWT wiki 配置我的项目,它运行良好,但在我的子项目中遇到了一些问题。

假设我有两个项目 A 和 B,A 是标准 GWT 项目,B 是子项目,有一个 GWT 模块,它包含一些常见的 UI 小部件和一些常见的实体代理和 RequestFactory,A 项目通过 Maven 依赖依赖 B 项目,并且在A的Module.gwt.xml中,B模块上也有继承。

问题是当我尝试使用 GPE 启动一个项目时,它归咎于:

The RequestFactory ValidationTool must be run for the … XXXRequestFactory type

其中 XXXRequestFactory 在 B 项目中。我必须在 Eclipse 中关闭项目 B,所以它不会受到责备,当我想修改 B 项目中用于查看更改的 B 项目中的某些内容时,这很麻烦,我必须关闭 B 然后查看更改,然后打开 B 和做了改变...

我想知道是否有办法解决这个问题,这样我的生活会更轻松。谢谢。

还有一件事,我也在项目 B 中使用maven-processor-pluginbuild-helper-maven-plugin,并确保在我调用maven installB 时目标运行,但似乎没有帮助。

4

1 回答 1

0

我也有这个问题,这是解决这个问题的解决方案。这个答案假设您需要在开发模式下执行 GWT 应用程序(正如您提到的,您尝试使用 gwt eclipse 插件)

  1. 您可能已经知道这RequestFactory必须在执行之前验证接口、域类型和代理。因此,您需要为此启用注释处理,除了所述验证之外,它还会为服务器端组件创建映射数据。如果此过程不成功,它将抛出您提到的错误。

  2. 您可以在项目属性中为项目 B 启用 requestfactory 验证。转到编译器属性,启用注释处理,提供requestfactory-apt.jar. 在此之后,当您编译项目时,您可以.apt_generated在项目主目录中看到包含映射文件的文件。如果您打开其中一个,您可以看到为您的代理生成的映射。

  3. 启动应用程序(在您的情况下为项目 A),它应该运行没有任何错误

在 Maven 世界中,您必须指定此 apt jar 的依赖项。除此之外,您可能会在这些生成的类中遇到编译器错误mvn compile,要解决该问题,只需删除.apt_generated.

于 2013-05-09T22:11:12.350 回答