0

我在这里读到“您添加的存储库越多,您的构建速度就越慢”。真的吗 ?

我认为如果您有依赖项的工件版本在 .m2 文件夹中可用,那么甚至不会查询存储库,如果它不可用,那么 maven 将循环遍历它们直到找到正确的神器,不会再看下去了。因此,无论哪种情况,它都不会消耗额外的带宽。

4

2 回答 2

1

this question所示在某些情况下,Maven 会在远程存储库中搜索依赖项,即使它已经在您的本地存储库中可用。SNAPSHOT 依赖项或缺少 pom.xml 的依赖项会发生这种情况。所以我只能假设这篇博文可能意味着如果您的构建属于这些类别中的任何一个,Maven 将扫描您在每个构建中定义的远程存储库(实际上对于 SNAPSHOTS,您可以通过启用/禁用来限制 Maven 将扫描的存储库根据需要从每个存储库中获取快照)。如果可以' 找不到它正在寻找的东西,它当然必须在放弃之前扫描所有存储库,这意味着存储库越多,扫描所花费的时间就越多(在 SNAPSHOTS 的情况下,它无论如何都会扫描所有存储库,因为如果它在一个存储库中找到更新版本,则它无法“知道”另一个存储库不会拥有更新的版本)。即使在 Maven 实际找到它寻找的依赖项并停止搜索的情况下,找到依赖项的存储库也可能是最后一个扫描的存储库,因此所有其他存储库都在它之前被扫描。

于 2012-12-03T10:18:07.823 回答
1

当您构建项目时,它会转到 m2 存储库以检查 jar 是否已经存在,如果没有,它会从中央存储库下载 jar。因此,如果一旦下载了 jars,构建项目就不会花费时间。

于 2014-02-04T03:52:19.253 回答