我有一个纯Java项目(a)和一个GWT项目(B),它们被设置为多模块GWT项目,如下所述。
当我第一次运行mvn install
时,A进行编译,然后B执行完整的GWT编译。然而,如果我更改了A中的任何内容,那么B就不会像我预期的那样编译;我得到
[INFO] <module> is up to date. GWT compilation skipped.
如果我启用<force>true</force
,那么它会编译,我可以看到我的更改。
当依赖模块发生变化时,我如何使我的项目自动编译,如果没有任何变化,我如何跳过编译?
如果gwt-maven插件中的增量构建被破坏,我不会感到惊讶,就像几乎所有的maven插件一样:https://cwiki.apache.org/confluence/display/MAVEN/Incremental+构建
消息来源中有一条关于它的注释:https://github.com/gwt-maven-plugin/gwt-maven-plugin/blob/d6464421d9ceb815db2d594ae0bf2d9ca07a1643/src/main/java/org/codehaus/mojo/gwt/shell/CompileMojo.java#L390
我倾向于同意,maven编译器插件以类似的方式被破坏,在这种情况下,无论如何都应该执行clean
。或者,如果您知道更改与代码兼容,并且不应该更改maven编译器插件的输出,那么通过在命令行上传递-Dgwt.compiler.force
来强制GWT编译。