maven

如何提高 Maven 的构建速度?

1、概览 在本教程中,我们将学习如何加快 Maven 的构建速度。我们将介绍各种优化构建时间的技术,并评述其优缺点。 2、常规建议 使用正确的 maven phase(阶段) 可以为我们节省大量时间。如果只需要编译代码,就没必要运行完整的 install,并且这会污染我们的本地仓库。 在多模块项目中,可以只重建已更改的模块和依赖于这些模块的模块。例如,如果我们只修改了 module1 和 module2,我们可以运行: $ mvn clean install -pl module1,module2 -am 3、使用多线程 默认情况下,Maven 构建在单线程中顺序运行。不过,如今所有电脑都有多核。让我们利用这一点,使用 -T 选项并行构建我们的模块: $ mvn clean install -T 1C -T 1C 表示 Maven 将在每个可用内核上使用一个线程。 -T 4 会强制 Maven 使用四个线程。 -T auto 会让 Maven 决定使用的线程数。 最后但并非最不重要的一点是,Maven Reactor 可确保所有相互依赖的模块按顺序运行。 4、测试优化 测试是软件开发的重要组成部分。然而,运行测试需要花费大量时间。 4.1、并行运行测试 默认情况下,Surefire 插件会按顺序运行单元测试。不过,我们可以将其配置为并行运行。例如,要并行运行所有测试套件,并在每个可用内核上使用一个线程,我们可以运行: mvn clean install -Dparallel=all -DperCoreThreadCount=true 但是,如果我们的项目中没有大量的单元测试,并行化的开销可能会导致更低的效率。 4.2、跳过测试执行 有时,我们并不需要在本地环境中运行测试。Maven -DskipTests 选项会跳过测试的执行,但仍会编译 test 文件夹: $ mvn clean install -DskipTests 在高度测试的项目中,当我们不需要测试时,跳过测试可以节省我们的时间!