3

我正在使用 IDEA 117.216

如果CrazyCoder看到这个问题就好了 :)

你们如何引用另一个模块以便 GWT 编译器看到它?

当我说模块时,我指的是 IntelliJ IDEA 术语中的模块。

这是我的情况。我有中间项目(GAE + GWT + RequestFactory)。现在我在我的项目中创建了 Android 模块。这个想法是它将使用C2DM并通过 RequestFactory (RF) 与服务器对话。

所以很自然地,我在我的项目中创建了第三个模块,并将所有射频代理和接口移到那里,这样我就可以从 GWT/GAE 模块和 Android 模块中引用它。

Android 模块喜欢它,但 GWT 编译器不喜欢。它找不到我移到“共享”模块的类。给我错误,例如:

[ERROR] Errors in 'file:/C:/work/sideprojects/courierapp/src/com/blah/courierApp/client/admin/AdminPage.java'
[ERROR] Line 77: No source code is available for type com.blah.shared.proxies.OrderProxy; did you forget to inherit a required module?
[ERROR] Line 81: No source code is available for type com.blah.shared.factories.AdminRequestFactory; did you forget to inherit a required module?

我需要注意SharedClasses 模块是作为 GWT 模块的依赖项添加的。但是 GWT 仍然不知道它的来源在哪里。

在我看来这是这个错误

你如何解决这个问题?我真的不想有两个编译步骤:首先使用源构建共享类 jar,然后构建引用该 jar 的 GWT 项目等......

4

2 回答 2

14

它更像是IDEA-67661,负责的开发人员解释了为什么会这样:

IDEA 10 确实包含来自仅具有 GWT 方面的模块的类路径源根。这可以确保不需要的目录不会添加到类路径中。此外,您还需要在模块中有一个 GWT Facet 以在其中启用特定于 GWT 的完成和检查...

于 2012-04-17T07:22:34.147 回答
0

您必须让.java文件在模块中。GWT 编译器与它们一起工作,而不是与.class文件一起工作。

于 2012-04-17T06:04:35.970 回答