Maven 依赖项因 501 错误而失败
最近 Jenkins 中的 Maven 构建作业由于以下异常而遇到失败:
[ERROR] Failed to transfer artifact org.apache.maven.wagon:wagon-ssh:pom:2.1 from/to central (http://repo.maven.apache.org/maven2): Failed to transfer file: http://repo.maven.apache.org/maven2/org/apache/maven/wagon/wagon-ssh/2.1/wagon-ssh-2.1.pom. Return code is: 501 , ReasonPhrase:HTTPS Required.
此错误表明 Maven 正在尝试使用 HTTP 从 Maven Central 检索依赖项,这不是不再支持。
解决方案
自 2020 年 1 月 15 日起,Maven Central 要求所有请求使用 HTTPS。要解决此问题,请确保您的 Maven 设置使用 Maven Central 的 HTTPS URL:
<settings> <profiles> <profile> <id>central-https</id> <repositories> <repository> <id>central</id> <url>https://repo.maven.apache.org/maven2</url> </repository> </repositories> </profile> </profiles> </settings>
运行 Maven 命令时激活“central-https”配置文件,例如:
mvn -P central-https package
此外,请确保使用最新版本的 Maven(至少 3.6.0),因为它包含更新的 HTTPS 默认设置用法。
以上是为什么我的 Maven 依赖项会失败并出现 501 错误?的详细内容。更多信息请关注PHP中文网其他相关文章!