我有一个依赖于其他两个模块(A,B)的战争模块(C)。当我更改 A 并为 C 重新打包时,mvn package
B 也被重新编译(尽管它没有任何变化),并且需要很多时间。我如何告诉 maven 跳过它?谢了。
问问题
1099 次
3 回答
1
使用新的编译器插件版本 3.1。它进行增量编译,这对我来说非常有用。当它发现模块中的更改时,它会进行完整的编译,否则它不会编译任何东西。
http://maven.apache.org/plugins/maven-compiler-plugin/compile-mojo.html
增量模式是默认的,所以实际上除了更新版本别无他法!
当然,您不应该提前进行清洁。这将始终导致完全编译。
于 2013-08-14T08:38:38.010 回答
0
您也可以使用选项 -pl。Pl 代表“项目列表”。你输入
mvn -pl myProjA,myProjB 全新安装
这将只构建这两个项目。但请注意,您可能会监督必要的构建项目。
http://java.dzone.com/articles/5-maven-tips
我无法在 maven 文档上找到它,但我确信它也在那里。
于 2013-08-15T05:48:17.137 回答
0
B
通过将项目从相关的父 POM 中排除来从项目中删除。您可以在开发配置文件中这样做。这样,它是从 maven 缓存中加载的,而不是每次都重新编译。
于 2013-08-14T07:57:56.693 回答