GWT。 Maven的。在项目源或资源</module_name>中找不到GWT模块<module_name>

时间:2012-11-14 15:10:08

标签: gwt maven multi-project gwt-maven-plugin

我有一个maven多模块项目。其中一个模块(编译为.jar)仅包含域对象,将在客户端和服务器端使用(我将此.jar添加为其他模块的依赖项)。

我知道GWT模块,其中将使用来自共享.jar的对象,还必须具有用于成功编译的源文件。所以我尝试添加到我的pom.xml

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

 <plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>gwt-maven-plugin</artifactId>
    <versionRange>[${gwt.version}]</versionRange>
    <goals>
        <goal>resources</goal>
    </goals>
 <plugin>

但结果.jar不包含GWT模块源(即gwt.xml)。还添加了所有域类的源(在.jar的根目录下),但ModuleName.gwt.xml没有。

哪里有问题?感谢。

3 个答案:

答案 0 :(得分:2)

如果您的.gwt.xml文件位于src/main/resources/,那么如果您指定src/main/java/作为资源路径,则不会复制该文件...

您应该省略<resource>部分,让GWT插件包含jar中的源或至少包含两个部分,一部分用于.gwt.xml文件(src/main/resources或您在哪里把它和一个用于源代码(就像你现在拥有的那样)。

干杯,

答案 1 :(得分:0)

我今天正在排除此错误,因此我只是发布了我的修复程序:

使用maven gwt插件构建的多模块gwt项目需要在pom.xml中输入一个条目,如:

  <modules>
        <module>../theothermodule</module>
  </modules>

为了编译。

答案 2 :(得分:0)

此错误有多种解释。检查清单:

  • 如果您正在引用gwt模块,则需要在没有文件扩展名的情况下以点表示法指向*.gwt.xml文件。例如。 com.example.ThirdParty是指com/example/ThirdParty.gwt.xml模块
  • 要导入第三方模块,请将<inherits name="com.example.ThirdParty" />添加到您的*.gwt.xml文件
  • ThirdParty.gwt.xml应包含一个或多个指向可翻译代码的source元素。例如。 <source path='shared' />
  • ThirdParty.jar中的所有可翻译代码都需要包含明文*.java来源。例如。 com/example/shared/Widget.classcom/example/shared/Widget.java都在场
  • ThirdParty.jar在您的类路径

注意:

  • 如果ThirdParty gwt模块没有入口点,则不需要使用gwt编译器进行编译
  • gwt编译器不需要额外的配置来包含ThirdParty模块,只要它的jar在classpath上并且*.gwt.xml继承ThirdParty.gwt.xml;这同样适用于gwt maven插件