Maven 3是否提供比Maven 2更好的性能?

时间:2012-05-14 16:58:29

标签: performance maven-2 maven-3

我尝试过简单:

 mvn clean install -Dmaven.test.skip.exec=true

从Maven2(2.2.1)切换到Maven3(3.0.4 - 3.0.3)。 但Maven2用于构建的时间少了!对于由Maven2在16分钟附近建造的项目,在Mave3 - 近20分钟。 但是,我发现堆栈流也比Maven3有更好的性能。我应该为Maven3创建另一个本地存储库(我使用Maven2创建的旧版本)还是使用其他选项? 感谢。

2 个答案:

答案 0 :(得分:2)

Maven 3应该比Maven 2快。当然,对于某些边缘情况,总是存在性能回归的可能性。我不确定问题出在哪里,但我会先看看哪个阶段需要更长的时间并将其与Maven 2版本进行比较,例如:

  • 这是一个多模块还是单模块构建?
  • 构建是否包含非标准构建扩展,例如maven-bundle-plugin
  • 构建是否使用最新版本的插件? maven-compiler-plugin为版本2.4.0中的多模块项目带来了不错的性能改进。
  • 是否使用版本范围构建引用工件?我记得早期的Maven 3.0.x版本在性能方面存在一些问题
  • 是否已在您的POM中修复了所有插件版本? Maven 3可能会引入具有性能回归的新插件版本

一旦缩小了根本原因,您可以自行修复 - 如果可能 - 或者向maven插件或maven核心提交错误报告。

答案 1 :(得分:0)

您可以尝试Maven 3的-T选项,它可以并行执行部分生命周期。

摘自--help输出:

-T,--threads <arg>                     Thread count, for instance 2.0C
                                        where C is core multiplied

但是,如果它们已经是最新的并且正确标记了@threadsafe,那么它取决于您使用的插件版本。但有时它值得一试。