新的GWT Maven插件(net.ltgt.gwt.maven):没有从src / main / resources中获取gwt.xml(只有src / main / java)

时间:2017-08-29 14:54:28

标签: java maven gwt gwt-maven-plugin

我有一个简单的GWT项目;我已阅读here

  

注意有一个新的插件(原型和eclipse集成),a   新的开始,正确支持多模块项目,它不是   版本与GWT绑定,支持多个GWT版本和其他   修复,改进和最佳实践。现在考虑这个插件   传统的GWT maven插件(又名mojo GWT maven插件)和新的   一个被认为是新一代GWT maven插件(又名tbroyer GWT   maven插件)。传统的maven插件仍然受支持,但确实如此   强烈建议将新的项目用于新项目。

引用的插件是:

<groupId>net.ltgt.gwt.maven</groupId>
<artifactId>gwt-maven-plugin</artifactId>

我正在尝试更新我的项目以使用新插件。我有以下问题:

  • 没有模块自动发现;使用旧的Maven插件,不必强制指定moduleName;一个人会为你自动发现(它对我来说很好)。你知道是否有与新插件相同的东西吗?
  • 如果我将gwt.xml文件放在src/main/resources下而不是src/main/java(这是Maven标准),则找不到该文件,我得到一个“模块没有入口点定义“错误。这是预期的行为吗,这有什么原因吗?

所以我要么缺少一些应该允许我做我想要的配置,要么插件很年轻,而且还有一些遗漏的东西。但如果问题出在插件本身上,那么为什么旧的插件页面会说“仍然支持遗留maven插件但强烈建议将新的插件用于新项目。”?看起来这些家伙匆匆忙忙。

1 个答案:

答案 0 :(得分:1)

该插件已有好几年的历史,并且已经准备就绪,尽管它的RC版本控制(免责声明:插件作者在这里;版本控制就是那样不承诺向前兼容的配置,事情已经稳定了一些版本已经)

你必须明确配置模块名称(和短名称,用于陈旧性检查)。另一种方法是将您的模块放在src/main/module.gwt.xml,然后将其重命名(并附加rename-to="")到相应的名称和路径。

您是否关注https://tbroyer.github.io/gwt-maven-plugin/migrating.html并设置了<skipModule>true</skipModule>?否则会生成一个虚拟模块(实际上来自src/main/module.gwt.xml,可能不存在)并且可能会覆盖您的模块。这实际上是在最终版本发布之前仍可能发生变化的行为的一部分。