2

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

当我第一次运行mvn install时,A 编译,然后 B 执行完整的 GWT 编译。但是,如果我更改 A 中的任何内容,则 B 不会像我预期的那样编译;我明白了

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

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

如何让我的项目在依赖模块发生变化时自动编译,如果没有任何变化则跳过编译?

4

1 回答 1

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 编译。

于 2013-07-30T11:23:01.757 回答