Java 未能执行目标gwt maven插件:2.5.1:gwt模块名称在项目源或资源中找不到(在eclipse中工作,但maven安装失败)
我有一个多模块设置,其中一个子模块是GWT,所有其他子模块都是非GWT。这在eclipse中非常有效,在eclipse中我可以启动GWT图形和非GWT应用程序。然而,当我执行“mvn清洁安装”时,我在基于GWT的子模块中遇到以下错误 我复习了类似的问题,但没有帮助(因为我不理解,因为我的pom没有资源) 下面是非GWT代码的pom文件(基本上这个子模块有几个DTO,GWT客户端和所有其他非GWT模块都将使用这些DTO)Java 未能执行目标gwt maven插件:2.5.1:gwt模块名称在项目源或资源中找不到(在eclipse中工作,但maven安装失败),java,maven,gwt,Java,Maven,Gwt,我有一个多模块设置,其中一个子模块是GWT,所有其他子模块都是非GWT。这在eclipse中非常有效,在eclipse中我可以启动GWT图形和非GWT应用程序。然而,当我执行“mvn清洁安装”时,我在基于GWT的子模块中遇到以下错误 我复习了类似的问题,但没有帮助(因为我不理解,因为我的pom没有资源) 下面是非GWT代码的pom文件(基本上这个子模块有几个DTO,GWT客户端和所有其他非GWT模块都将使用这些DTO) 4.0.0 口琴 ,我在基于gwt的子模块中添加了以下行,但没有成功
4.0.0
口琴
,我在基于gwt的子模块中添加了以下行,但没有成功
<configuration>
<module>com.harmonia.cbm.basecommon.Basecommon</module>
<inplace>true</inplace>
<force>true</force>
</configuration>
com.harmonia.cbm.basecommon.basecommon
真的
真的
最后,我打开了Basecommon.jar文件(包含所有DTO的非gwt子模块),它没有任何gwt.xml文件(它只有.class文件)。
任何提示都值得欣赏(我对GWT非常陌生,对maven来说只有几个月大)正如您所怀疑的,问题是您的GWT.xml文件不在JAR中。正如您可能在另一个问题中所读到的,这是因为它位于src/main/java
中,而不是声明为
解决方案:
- 将资源(*.java和*.gwt.xml文件,如果使用ClientBundle或UiBinder,可能还有其他文件)声明为
- 使用
gwt:resources
或gwt:sourcejar
- 或者使用构建一个源jar,并将其作为依赖项(以及“普通”jar)添加到GWT项目中:
${project.groupId}
(这显然是不完整的)
顺便说一句,除非您完全理解其含义,否则不要使用true
。我还没有找到那处房产的真正用途。@Broyer:谢谢你的详细回答。这有帮助。我可以要求您提供一个关于如何使用gwt:resources或gwt:sourcejar的链接(pom.xml)。我发现了这一点,但它没有关于如何在pom.xml中使用它的示例(可能是太基本了/obvous)。在
<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>
<module>
<inherits name='com.google.gwt.user.User'/>
<source path='dto' />
<configuration>
<module>com.harmonia.cbm.basecommon.Basecommon</module>
<inplace>true</inplace>
<force>true</force>
</configuration>