You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Jitpack无法拉取GitHub仓库新版本但可获取旧版本求助

问题描述

使用如下Gradle构建脚本时,出现依赖找不到的错误:

apply plugin: "java"

version '1.0'

sourceCompatibility = 1.8

sourceSets.main.java.srcDirs = ["src"]

allprojects {
    repositories {
        mavenCentral()
        jcenter()
        maven { url "https://jitpack.io" }
    }
}

dependencies{
    compileOnly 'com.github.Recessive:repo:v0.5' 
    implementation 'mysql:mysql-connector-java:8.0.12'
}

jar{
    archiveFileName = "${project.archivesBaseName}.jar"
    from{
        configurations.runtimeClasspath.collect{it.isDirectory() ? it : zipTree(it)}
    }

    from(rootDir){
        include "plugin.json"
    }
}

构建时返回错误:

LocalRepo1:main: Could not find com.github.Recessive.repo:v0.5:.

v0.2版本可正常构建,切换依赖为compileOnly 'com.github.Recessive:repo:v0.2'即可正常工作。但v0.3至v0.5版本(功能与v0.2一致)均无法拉取,master-SNAPSHOT在v0.3发布后也无法使用。手动确认Jitpack上v0.2的链接可正常返回,Gradle从缓存构建时Jitpack表现正常。

可能原因
  1. Jitpack后续版本构建失败:Jitpack采用按需构建机制,标签推送后首次请求才会触发构建。如果v0.3至v0.5版本的构建过程中出现错误(比如项目构建脚本问题、依赖缺失、编译失败等),会导致Jitpack仓库中没有生成对应的artifact,Gradle自然无法找到。
  2. 本地Gradle缓存污染:本地缓存可能留存了之前拉取失败的记录,即使Jitpack后续修复了构建,Gradle仍会优先读取缓存信息,导致无法获取正确的依赖。
  3. Jitpack构建输出不符合规范:部分情况下,Jitpack构建成功但生成的文件结构不符合Maven仓库规范(比如缺少pom文件、jar文件路径错误),导致Gradle无法识别依赖。
解决方案
  • 检查Jitpack构建状态:进入Jitpack对应仓库的页面,查看v0.3至v0.5版本的构建日志,确认是否存在构建失败的情况。若有失败,修复项目中的问题(比如调整构建脚本、补充缺失依赖)后,重新触发构建(可通过再次请求依赖或在Jitpack页面手动重新构建)。
  • 清理本地Gradle缓存:删除本地Gradle缓存中对应依赖的目录,路径通常为~/.gradle/caches/modules-2/files-2.1/com.github.Recessive,之后重新执行构建。
  • 强制刷新依赖:执行Gradle命令./gradlew clean build --refresh-dependencies,强制Gradle忽略本地缓存,从远程仓库重新拉取依赖元数据和artifact。
  • 验证标签与提交关联:确认GitHub仓库中v0.3至v0.5的标签已正确推送,且关联了可正常构建的提交记录,避免标签指向了有问题的代码版本。

内容的提问来源于stack exchange,提问作者Recessive

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 08:05:22