【问题标题】:gradle sporadically times out fetching jar from JitPackgradle 偶尔会超时从 JitPack 获取 jar
【发布时间】:2021-01-29 15:53:32
【问题描述】:

我的项目使用 gradle 构建,并且在 JitPack 上有一些依赖项。有时,由于从 JitPack 获取 jar 时超时,构建会失败:

> Task :preDebugBuild FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':preDebugBuild'.
> Could not resolve all files for configuration ':debugCompileClasspath'.
   > Could not resolve org.traffxml:traff-eismoinfo-intensity:master-SNAPSHOT.
     Required by:
         project :
      > Could not resolve org.traffxml:traff-eismoinfo-intensity:master-SNAPSHOT.
         > Unable to load Maven meta-data from https://jitpack.io/org/traffxml/traff-eismoinfo-intensity/master-SNAPSHOT/maven-metadata.xml.
            > Could not HEAD 'https://jitpack.io/org/traffxml/traff-eismoinfo-intensity/master-SNAPSHOT/maven-metadata.xml'.
               > Read timed out

这似乎是 JitPack 的普遍问题。当请求一个不在缓存中的 jar 时,这显然需要更长的时间,因为 JitPack 必须首先构建 jar。但是,在这种情况下,master-SNAPSHOT 指的是一周前已经构建的版本,因此响应时间似乎是 JitPack 的普遍问题。我最多可以想象这与快照版本有关,因为 JitPack 每次都需要检查新版本——这可能意味着稳定版本不受影响。

对于本地构建,超时是一个小麻烦,因为我必须重新运行构建一两次,但在 CI 管道中,它会导致零星的失败,或者大量的人工干预或增加一些“超时重试”逻辑的复杂性。

什么给了?我可以在某处增加 gradle 的超时时间吗? JitPack 在非快照版本上的行为是否不同(所以这个问题可能只与开发版本相关,而不是依赖于稳定版本而不是快照的已发布版本)?

【问题讨论】:

    标签: gradle jitpack


    【解决方案1】:

    您可以通过将这些添加到您的 gradle.properties 来增加超时时间

    systemProp.org.gradle.internal.http.connectionTimeout=180000
    systemProp.org.gradle.internal.http.socketTimeout=180000
    

    您还可以从 ci 触发 Jitpack 构建,以增加依赖项在需要时被缓存的可能性。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-23
      • 2018-03-03
      • 1970-01-01
      • 1970-01-01
      • 2015-04-14
      相关资源
      最近更新 更多