如何让 Maven 构建更快?

2023-12-21

我有一个多模块java项目。 Maven 大约需要 40 秒来构建它。我也尝试过使用多线程构建 Maven,方法是指定 -T 和 -C 参数来表示不使用任何线程和核心。但我还没有看到我的构建的墙时间有任何显着的改进。
我正在使用 maven 3.2.3,有时我需要非常频繁地构建我的项目。
我知道干净的目标需要很多时间,但我不能忽略它。
请提出建议....

EDIT:
注意:就我而言,清洁并不需要太多时间。 1秒内完成。安装正在占用剩余时间。


注意:第一件事是 AFAIK,除了这里的所有答案之外,maven 中没有其他可用的内置选项。


使用多线程运行 Maven 构建对我来说可以加快构建速度。 例如 :

mvn clean install -T100

其中 -T 用于根据您的情况指定您想要的线程数 硬件。

以下是来自 wiki 的变体 https://cwiki.apache.org/confluence/display/MAVEN/Parallel+builds+in+Maven+3

Maven 3.x 具有执行并行构建的能力。命令 如下:

  • mvn -T 4 clean install 使用 4 线程构建
  • mvn -T 1C 全新安装 每个 cpu 核心 1 个线程
  • mvn -T 1.5C 全新安装 每个 cpu 核心 1.5 个线程

如何评估执行(请参阅 Maven 3 中的并行构建 https://cwiki.apache.org/confluence/display/MAVEN/Parallel+builds+in+Maven+3)?

图中的每个节点代表多模块构建中的一个模块,“级别”仅指示到内部反应器依赖关系图中的第一个模块的距离。 Maven 根据声明的多模块构建的模块间依赖关系来计算此图。请注意,父 Maven 项目也是一个依赖项,这解释了为什么大多数项目图顶部都有一个节点。反应器外部的依赖关系不会影响该图。

最后,如果你想跳过测试执行,你也可以使用-DskipTests以及。

注意:您的某些插件可能与多线程构建器不兼容,但它可能可以工作。但它会给出以下警告消息。您可能需要查看多线程支持的插件文档。

[WARNING] *****************************************************************                                                                                                                                 
[WARNING] * Your build is requesting parallel execution, but project      *                                                                                                                                 
[WARNING] * contains the following plugin(s) that have goals not marked   *                                                                                                                                 
[WARNING] * as @threadSafe to support parallel building.                  *                                                                                                                                 
[WARNING] * While this /may/ work fine, please look for plugin updates    *                                                                                                                                 
[WARNING] * and/or request plugins be made thread-safe.                   *                                                                                                                                 
[WARNING] * If reporting an issue, report it against the plugin in        *                                                                                                                                 
[WARNING] * question, not against maven-core                              *                                                                                                                                 
[WARNING] *****************************************************************                                                                                                                                 
[WARNING] The following plugins are not marked @threadSafe in test-project:                                                                                                                          
[WARNING] de.dentrassi.maven:rpm:0.9.2                                                                                                                                                                      
[WARNING] Enable debug to see more precisely which goals are not marked @threadSafe.                                                                                                                        
[WARNING] *****************************************************************    
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何让 Maven 构建更快? 的相关文章

随机推荐