首页 >Java >java教程 >为什么我的 Maven 依赖项会失败并出现 501 错误?

为什么我的 Maven 依赖项会失败并出现 501 错误?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-12-13 05:37:18476浏览

Why Do My Maven Dependencies Fail with a 501 Error?

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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn