GWT编译器无法在IntelliJ IDEA中找到依赖模块的源

时间:2012-04-17 04:28:53

标签: java gwt intellij-idea requestfactory gwt-compiler

我正在使用IDEA 117.216

如果CrazyCoder看到这个问题,那就太好了。)

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

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

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

很自然地,我在我的项目中创建了第3个模块并移动了所有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仍然不知道其来源的位置。

在我看来,它是 this bug

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

2 个答案:

答案 0 :(得分:14)

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

  

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

答案 1 :(得分:0)

您必须在模块中提取.java个文件。 GWT编译器可以使用它们,而不是.class个文件。