未能执行目标gwt-maven-plugin:2.5.1:在项目源或资源中找不到gwt模块名称(在eclipse中工作但maven安装失败)

时间:2014-03-31 21:25:37

标签: java maven gwt

我有一个多模块设置,其中一个子模块是GWT,所有其他子模块都是非GWT。这在eclipse中完美运行,我可以启动GWT图和非GWT应用程序。但是,当我执行" mvn clean install"时,我在基于GWT的子模块中出现以下错误。

  failed to execute goal org.codehause.mojo:gwt-maven-plugin:2.5.1: gwt module   com.mycompany.projectid.basecommon.Basecommon not found in project sources or resources

我审核了GWT. Maven. GWT Module <module_name> not found in project sources or resources的类似问题,但没有帮助(因为我不理解它,因为我的pom没有资源)

下面是非GWT代码的pom文件(基本上这个子模块有很少的DTO,将由GWT的客户端和所有其他非GWT模块使用)

  <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
    <groupId>com.harmonia</groupId>
    <artifactId>cbm</artifactId>
    <version>0.0.1-SNAPSHOT</version>
</parent>
<artifactId>base-common</artifactId>
<name>BASE-COMMONS</name>
<description>BASE-COMMONS</description>
<packaging>jar</packaging>
 </project>

下面列出了Basecommon gwt.xml文件,它位于src / main / java / com / mycompany / projectid / basecommon / Basecommon.gwt.xml

  <module>
 <inherits name='com.google.gwt.user.User'/>
   <source path='dto' />

基于GWT Module ... not found in project sources or resources,我在基于gwt的子模块中添加了以下行,但没有运气

  <configuration>
        <module>com.harmonia.cbm.basecommon.Basecommon</module>
<inplace>true</inplace>
<force>true</force>
</configuration>

最后,我打开了Basecommon.jar文件(包含所有DTO的非gwt子模块),它没有任何gwt.xml文件(它只有.class文件)。 任何提示都表示赞赏(我对GWT很新,而且几个月前对maven)

1 个答案:

答案 0 :(得分:3)

如您所料,问题是您的gwt.xml文件不存在于JAR中。正如你可能在另一个问题中读到的那样,那是因为它在src/main/java中而未被声明为<resource>

解决方案:

  • 将{(1。}}

  • 声明资源(* .java和* .gwt.xml文件,如果使用ClientBundle或UiBinder,可能还有其他文件)
  • 使用<resources>gwt:resources

  • 或使用maven-source-plugin构建一个source-jar,并将其作为依赖项(以及“普通”JAR)添加到您的GWT项目中:

    gwt:source-jar

(注意:<dependency> <groupId>${project.groupId}</groupId> <artifactId>base-common</artifactId> <version>${project.version}</version> <type>java-source</type> </dependency> 也有效,代替<classifier>sources</classifier>,但使用<type>java-source</type> 更正确

另见http://mojo.codehaus.org/gwt-maven-plugin/user-guide/library.html(显然不完整)


顺便说一下,除非你完全理解其含义,否则不要使用<type>。我还没有找到该物业的真正用途。