Maven:在 pom.xml 中配置并行构建

2024-02-03

Maven 具有执行并行构建的能力:https://cwiki.apache.org/confluence/display/MAVEN/Parallel+builds+in+Maven+3 https://cwiki.apache.org/confluence/display/MAVEN/Parallel+builds+in+Maven+3

mvn -T 4 clean install # Builds with 4 threads
mvn -T 1C clean install # 1 thread per cpu core
mvn -T 1.5C clean install # 1.5 thread per cpu core

是否可以在 pom.xml 或 settings.xml 中指定此参数?重复此选项可能会很烦人。


这个解决方案有点麻烦,但对我有用。它涉及指定一个新的环境变量、为其分配值 -T3 并将该变量添加到 Maven 启动脚本中。

对于 Windows(括号中为 Linux):

  1. 打开环境变量窗口:计算机 -> 属性 -> 高级系统设置 -> 环境变量
  2. 添加属性MAVEN_CMD_LINE_OPTS与您想要的价值。就我而言-T 3因为我希望 Maven 使用 3 个线程并行构建。
  3. 编辑mvn.cmd文件(在 Linux 中:mvn文件)。找到Java命令实际执行的部分,以开头的行%MAVEN_JAVA_EXE%(在 Linux 中:通常在定义主类的行之后:org.codehaus.plexus.classworlds.launcher.Launcher)

  4. 将 %MAVEN_CMD_LINE_OPTS% 添加到行尾(在 Linux 中:$MAVEN_CMD_LINE_OPTS)

当你跑步时MVN编译在 Maven 项目中,您现在将看到以下行:

使用线程数为 3 的 MultiThreadedBuilder 实现

这样做的优点是用户能够“覆盖”该值。所以如果用户执行mvn -T4 编译,则使用 4 个线程,而不是默认的 3 个。

Note:

  1. 我在 Maven 3.3.9 上尝试过这个,但这个概念应该适用于任何 Maven 版本。
  2. 多线程构建可能会遇到插件问题 特别是自定义插件不是线程安全的。因此请谨慎使用并 考虑禁用此功能以解决出现问题时的问题。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Maven:在 pom.xml 中配置并行构建 的相关文章

随机推荐