不幸的是,由于文件下载,maven初始构建非常慢 F.E.我尝试使用curl下载相同的jar - 它快3倍!!! 为什么?我怎么能加快它?也许maven有一些与工件下载速度相关的配置键?
谢谢。
答案 0 :(得分:7)
使用本地存储库管理器/镜像/代理。然后,所有下载都将针对互联网上的公共存储库进行反对。最受欢迎的是:
它们相当容易安装和设置,并提供很多价值。他们中的大多数也有免费版本。只需使用旧的开发盒即可开始使用,一旦您希望扩大范围并将其提供给更多人,就可以转移到真正的服务器上。
答案 1 :(得分:3)
上面的答案中遗漏了问题的重点:
我尝试使用curl下载同一罐子-快了3倍!!!
这意味着这是一个软件问题,可以通过安装本地代理或更改settings.xml中的快照策略来缓解,这会带来额外的工作和潜在的副作用,例如快照依赖关系无法更新。
该问题描述的问题是行家不利用可用带宽,因此速度较慢。此问题已在https://issues.apache.org/jira/browse/WAGON-537中找到,自maven 3.6.1起已解决,请分别参见https://maven.apache.org/docs/3.6.1/release-notes.html和https://issues.apache.org/jira/browse/MNG-6591。因此,除了更新到最新的Maven版本外,无需执行其他任何操作。
答案 2 :(得分:1)
您可以使用curl下载工件(如果您认为更快)并使用以下命令将其安装到您的maven存储库:
mvn install:install-file -Dfile=<path-to-file> -DgroupId=<group-id> \
-DartifactId=<artifact-id> -Dversion=<version> -Dpackaging=<packaging>
http://maven.apache.org/guides/mini/guide-3rd-party-jars-local.html
一旦你将它安装在本地存储库中,下一次maven会从那里拿起它,不会再尝试下载。
此外,如果中央maven存储库站点较慢,请考虑使用Maven存储库镜像。
镜像设置指南 - http://maven.apache.org/guides/mini/guide-mirror-settings.html
答案 3 :(得分:1)
最佳优化是避免下载。查看您的settings.xml
maven配置,并检查releases和snapshots上的 updatePolicy 标记是否设置为“每日”。这应该是默认值,但有时可以设置为“始终” - 例如在存储库管理器配置中。
警告:在这种情况下(每日),您必须对可能无法立即获得的快照更改保持谨慎。
我知道这不是你问题的直接答案,而是我所知道的最好的maven下载优化。
答案 4 :(得分:1)
我知道这是一个老问题,但在Google的帮助下偶然发现了。我已经安装了代理,只需要加快并发下载的速度即可。您可以使用mvn选项:
-Dmaven.artifact.threads=30
来源: https://maven.apache.org/guides/mini/guide-configuring-maven.html
Configuring Parallel Artifact Resolution
By default, Maven 2.1.0+ will download up to 5 artifacts (from different groups) at once. To change the size of the thread pool, start Maven using -Dmaven.artifact.threads. For example, to only download single artifacts at a time:
mvn -Dmaven.artifact.threads=1 verify
You may wish to set this option permanently, in which case you can use the MAVEN_OPTS environment variable. For example:
export MAVEN_OPTS=-Dmaven.artifact.threads=3