首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Maven重试依赖项下载失败

Maven重试依赖项下载失败
EN

Stack Overflow用户
提问于 2019-04-29 15:54:30
回答 4查看 4K关注 0票数 2

在使用maven下载依赖项的过程中,由于网络问题导致其中一个失败:

代码语言:javascript
复制
Downloading: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-failsafe-plugin/2.16/maven-failsafe-plugin-2.16.pom
Plugin org.apache.maven.plugins:maven-failsafe-plugin:2.16 or one of its dependencies could not be resolved: Failed to read artifact descriptor for org.apache.maven.plugins:maven-failsafe-plugin:jar:2.16

我想在n可配置的情况下重试n时间。我该怎么做呢?

EN

回答 4

Stack Overflow用户

发布于 2020-01-01 04:43:04

我在Gitlab CI/CD中遇到了类似的问题。这似乎解决了问题:

代码语言:javascript
复制
-Dmaven.wagon.http.retryHandler.count=3

从3.2版开始,可以使用系统属性配置重试处理程序:

..。

    • maven.wagon.http.retryHandler.count =默认或标准implementations.

的重试次数

其他超文本传输协议客户端设置在这里描述:https://maven.apache.org/wagon/wagon-providers/wagon-http/

编辑:正如keiki在评论中指出的那样,3似乎是默认值,所以还不清楚设置这个值会有什么帮助。请根据您的经验进行评论。

票数 8
EN

Stack Overflow用户

发布于 2019-11-08 23:53:28

由于保持连接被关闭,Maven似乎在获取依赖项方面存在问题。当你在构建环境(Docker,Azure,Jenkins)中运行mvn,并且构建过程相当长(> 5分钟)时,就会发生这种情况。

使用此maven标志禁用HTTP请求的keep-alive,并查看它是否解决了您的问题:

代码语言:javascript
复制
-Dhttp.keepAlive=false

其他人也提到了使用这个标志:

代码语言:javascript
复制
-Dmaven.wagon.http.pool=false

例如

代码语言:javascript
复制
mvn -Dhttp.keepAlive=false -Dmaven.wagon.http.pool=false clean package

Source of the original solution for azure

票数 6
EN

Stack Overflow用户

发布于 2019-04-29 16:43:19

让我推荐一个替代解决方案:

在您的本地网络中设置Nexus或Artifactory服务器。让你的构建通过它。它将缓存所有使用过的工件,从而大大降低遇到网络问题的风险。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55899091

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档