并行下载Maven工件

Har*_*ann 21 maven

当构建具有本地存储库中尚未提供的依赖项的项目时,我注意到Maven 3.3.3首先按顺序下载依赖项POM,然后继续并行下载最多5个线程的依赖项JAR.

不使用POM并行下载的原因是什么?

是否可以选择配置POM或JAR的并行下载数量?

Til*_*ino 16

Maven 3.9.0开始,这终于成为可能。发行说明中有趣的一点是

解析器收集器的选择:除了现有的 DF 收集器之外,还添加了一种新的 BF 收集器(具有并行 POM 下载功能)。

一切都有点隐藏,但这里有明确的指示:

添加-Daether.dependencyCollector.impl=bf到您的 Maven 调用以从深度优先 (DF) 切换到广度优先 (BF) 依赖项集合。这意味着 POM 也将并行下载。

从该问题来看,计划将其设为默认模式。


Gre*_*cki 14

OP显然现在知道答案,但是对于寻找这个问题的解决方案的其他人来说:使用当前版本的Maven 3.6.0是不可能的.

OP已为此创建了一个问题,并为其创建了代码PR,但截至2019年1月尚未合并.

更新:有一个更新的公关来解决这个问题似乎有更快的合并机会,这里.


Rea*_*man 8

maven.artifact.threads 配置变量怎么样?

https://maven.apache.org/guides/mini/guide-configuring-maven.html

  • `maven.artifact.threads` 用于并行 JAR 下载,而 OP 询问并行 POM 下载。 (7认同)
  • `-Dmaven.artifact.threads=4` 在 3.8.1 中对我有用 (5认同)