【发布时间】: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 在非快照版本上的行为是否不同(所以这个问题可能只与开发版本相关,而不是依赖于稳定版本而不是快照的已发布版本)?
【问题讨论】: