maven,包没有重新编译模块

时间:2013-08-14 07:51:58

标签: maven

我有一个战争模块(C),它取决于另外两个模块(A,B)。当我更改A并为C mvn package进行重新打包时,B也被重新编译(尽管其中没有任何内容发生变化),并且需要花费大量时间。我怎么告诉maven跳过那个? TKS。

3 个答案:

答案 0 :(得分:1)

使用新的编译器插件版本3.1。它进行了一个增量编译,对我来说非常有效。它在模块中找到更改时执行完整编译,否则它不会编译任何内容。

http://maven.apache.org/plugins/maven-compiler-plugin/compile-mojo.html

增量模式是默认模式,因此实际上除了更新版本之外没有其他任何事情可做!

当然,您不应提前进行清洁。这将导致完全编译。

答案 1 :(得分:0)

从项目中删除B,将其从相关的父POM中排除。您可以在开发配置文件中执行此操作。这样,它从maven缓存加载而不是每次都重新编译。

答案 2 :(得分:0)

您也可以使用-pl选项。 Pl代表“项目列表”。你输入

mvn -pl myProjA,myProjB clean install

这只会构建这两个项目。但要注意,你可能会监督必要的项目建设。

http://java.dzone.com/articles/5-maven-tips

我无法在maven文档中找到这个,但我确信它也在那里。