使用Custom GET项目结构编译问题

时间:2010-08-26 18:42:43

标签: gwt maven

我正在使用maven构建系统构建的gwt模块。一世 有一个具有以下项目结构的工作模块。

  

project-name / src / main / java / pkg1 / pkg2 / pkg3 / EntryPoingClass
  项目名称/ src目录/人/资源/的pkg1 / pkg2的/ ModuleDef.gwt.xml

模块定义看起来像这样(我只放了这个 此处的项目特定设置...未指定正常继承 为了简洁起见)

  

...
< entry-point class ='pkg1.pkg2.pkg3.EntryPointClass'/>

  < source path ='pkg3'/>
...

我不是在资源文件夹中拥有子包的忠实粉丝。 因此,我试图将其更改为类似以下内容

  

project-name / src / main / java / pkg1 / pkg2 / pkg3 / EntryPoingClass
project-name / src / man / resources / ModuleDef.gwt.xml

还将模块定义更改为

  

...
< entry-point class ='pkg1.pkg2.pkg3.EntryPointClass'/>

  < source path ='pkg1.pkg2.pkg3'/> <! - 因为模块def不是   在任何包中,我在这里指定整个'客户'包 - >
...

此后,调用gwt编译失败并显示以下错误

无法找到类型“pkg1.pkg2.pkg3.EntryPointClass”

有人可以告诉我包裹之间是否有任何关系 EntryPointClass的结构和模块定义包 除了EntryPointClass应该是的事实之外的结构 在模块定义中指定的'client'包内(哪个 这里很满意)?

顺便说一句,我可以看到已编译的类可用于 调用gwt编译器时的类路径。

非常感谢这方面的任何帮助。

1 个答案:

答案 0 :(得分:0)

GWT编译器需要客户端类的源,而不仅仅是编译的字节码。它在classpath吗?

在我的公司,我们总是设置pom.xml来复制源作为资源:

<build>
<resources>
  <resource>
    <directory>src/main/resources</directory>
  </resource>
  <resource>
    <directory>src/main/java</directory>
    <includes>
      <include>**/client/**/*.java</include>
      <include>**/*.gwt.xml</include>
    </includes>
  </resource>
</resources>
</build>

**/client/**/*.java更改为满足您需求的任何内容(可能pkg1/pkg2/pkg3/**/*.java)。这样,客户端部分的源始终位于类路径中。