GWT多模块应用程序在更改依赖模块时不编译

时间:2013-07-30 10:07:44

标签: gwt gwt-maven-plugin

我有一个纯Java项目(A)和一个GWT项目(B)被设置为一个多模块GWT项目,如here所述。

当我第一次运行mvn install时,A编译,然后B执行完整的GWT编译。但是如果我在A中改变了什么,那么B就不会像我期望的那样编译;我得到了

[INFO] <module> is up to date. GWT compilation skipped.

如果我启用<force>true</force,那么它会编译,我可以看到我的更改。

如何在依赖模块发生更改时自动编译项目,如果没有更改则跳过编译?

1 个答案:

答案 0 :(得分:1)

如果gwt-maven-plugin中的增量构建被破坏,我不会感到惊讶,就像几乎每个Maven插件一样:https://cwiki.apache.org/confluence/display/MAVEN/Incremental+Builds

有消息来源:https://github.com/gwt-maven-plugin/gwt-maven-plugin/blob/d6464421d9ceb815db2d594ae0bf2d9ca07a1643/src/main/java/org/codehaus/mojo/gwt/shell/CompileMojo.java#L390

我倾向于同意,maven-compiler-plugin以类似方式被破坏,在这种情况下你应该做clean。或者,如果您知道更改与您的代码兼容并且不应更改maven-compiler-plugin的输出,则通过在命令行上传递-Dgwt.compiler.force来强制进行GWT编译