我没有考虑gwt中的实验并将其中一个gwt项目ant迁移到maven以进行devops迁移。
在ant build中它工作正常。
但是当我使用maven和gwt-maven-plugin来生成低于错误的代码时。
[DEBUG]找到类:com.google.gwt.dev.GWTCompile类 [INFO]编译GWT模块com.companyname.projectname.branch.gwt.Dto [DEBUG]调用GWTCompiler#main(String []) [ERROR]模块没有定义入口点 [错误]构建失败
这是样本结构
主模块xml
<module>
<inherits name='com.google.gwt.user.User' />
<inherits name='com.google.gwt.i18n.I18N' />
<inherits name='com.google.gwt.http.HTTP' />
<inherits name='com.companyname.projectname.branch.gwt.Dto' />
<inherits name='com.companyname.projectname.commons.Commons' />
<servlet path="/projectnamePLServicesImpl"
class="com.companyname.projectname.pr.gwt.server.projectnamePLServicesImpl" />
<entry-point class='com.companyname.projectname.ui.gwt.client.MainModule' />
dto xml
<?xml version="1.0" encoding="UTF-8"?>
<module>
<inherits name='com.google.gwt.user.User' />
<inherits name='com.google.gwt.i18n.I18N' />
</module>
和maven插件
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>gwt-maven-plugin</artifactId>
<version>1.0</version>
<configuration>
<moduleName>com.companyname.projectname.ui.gwt.client.MainModule</moduleName>
<!-- <logLevel></logLevel> -->
</configuration>
<executions>
<execution>
<goals>
<goal>compile</goal>
</goals>
</execution>
</executions>
答案 0 :(得分:0)
据我所知,您的主模块gwt.xml文件放在 com.companyname.projectname.ui.gwt 包中,因此您对GWT Maven插件的配置必须是以下内容:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>gwt-maven-plugin</artifactId>
<version>2.8.0</version>
<configuration>
<module>com.companyname.projectname.ui.gwt.MainModule</module>
<!-- <logLevel></logLevel> -->
</configuration>
<executions>
<execution>
<goals>
<goal>compile</goal>
</goals>
</execution>
</executions>
</plugin>
另外,我建议您使用与GWT工件相同版本的gwt-maven-plugin(例如,如果您使用GWT 2.8.0,则可以使用2.8.0版本的GWT插件)。 / p>
考虑将一些配置添加到您的gwt.xml主文件中,例如:
<module>
<inherits name='com.google.gwt.user.User' />
<inherits name='com.google.gwt.i18n.I18N' />
<inherits name='com.google.gwt.http.HTTP' />
<inherits name='com.companyname.projectname.branch.gwt.Dto' />
<inherits name='com.companyname.projectname.commons.Commons' />
<!--servlet path="/uploadServlet" class="com.companyname.rsa.gwt.demo.server.UploadServlet"/-->
<servlet path="/projectnamePLServicesImpl"
class="com.companyname.projectname.pr.gwt.server.projectnamePLServicesImpl" />
<source path='client'/>
<entry-point class='com.companyname.projectname.ui.gwt.client.MainModule' />
</module>
'source'标签将告诉GWT编译器在哪里查找要转换为JavaScript的Java类,以便使您的入口点类可访问。