代码之家  ›  专栏  ›  技术社区  ›  kriegaex

“阻止存储库镜像”错误,即使在存储库设置中使用HTTPS URL

  •  0
  • kriegaex  · 技术社区  · 3 年前

    因为我的一个测试游乐场项目需要来自Maven Central以外的存储库的一些依赖项,所以我在POM中添加了以下内容:

    <repository>
      <id>jenkins-releases</id>
      <name>Jenkins Releases</name>
      <url>https://repo.jenkins-ci.org/releases/</url>
      <releases>
        <updatePolicy>never</updatePolicy>
      </releases>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
    </repository>
    

    this build log 。在每个生成矩阵日志中,都存在相同的错误:

    org.eclipse.aether.transfer.NoRepositoryConnectorException:
      Blocked mirror for repositories:
        [repo.jenkins-ci.org (http://repo.jenkins-ci.org/public/, default, releases+snapshots)]
    

    我感到困惑,不是因为HTTP URL被Maven 3.8.1+阻止,这是一个已知的事实,而是因为我配置了 https:// http:// curl -v -L 调用并没有显示任何可疑的内容,我还可以在web浏览器中正常地在HTTPS下浏览存储库URL。

    我知道 this question ,但这些答案并没有帮助我理解眼前的问题。因此,不要很快判断这是一个重复,因为它是 关于如何在Maven 3.8.1+中禁用HTTP阻塞,以及为什么我在不使用HTTP存储库的情况下会遇到这个问题。

    0 回复  |  直到 3 年前
        1
  •  2
  •   kriegaex    3 年前

    在我更好地理解了这条日志行之后,我找到了原因:

    Failed to collect dependencies at
      org.jenkins-ci.main:jenkins-core:jar:2.102
        -> org.jenkins-ci:trilead-ssh2:jar:build-217-jenkins-11
        -> org.connectbot.jbcrypt:jbcrypt:jar:1.0.0:
      Failed to read artifact descriptor for org.connectbot.jbcrypt:jbcrypt:jar:1.0.0:
        Could not transfer artifact org.connectbot.jbcrypt:jbcrypt:pom:1.0.0
        from/to maven-default-http-blocker (http://0.0.0.0/):
          Blocked mirror for repositories:
          [repo.jenkins-ci.org (http://repo.jenkins-ci.org/public/, default, releases+snapshots)]
    

    在的POM中 trilead-ssh2 我看到了一个简单的HTTP存储库配置。

    也许,定义一个抑制默认封锁的虚拟镜像会有所帮助,但在我的情况下,我可以升级 jenkins-core 更新版本不再依赖于POM中包含HTTP存储库的库。