注意:第一件事是AFAIK,除了这里的所有答案之外,maven中没有其他内置选项可用。
使用多线程运行 maven 构建对我而言可以加快构建速度。例如:
mvn clean install -T100
其中 -T 用于根据硬件指定所需的线程数。
Maven 3.x 具有执行并行构建的功能。该命令如下所示:
- mvn -T 4 全新安装 具有 4 个线程的构建
- mvn -T 1C 全新安装 每个 cpu 内核 1 个线程
- mvn -T 1.5C 全新安装 每个 cpu 内核 1.5 个线程
图中的每个节点代表多模块构建中的一个模块,“级别”只是表示到内部反应堆依赖关系图中第一个模块的距离。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] *****************************************************************