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

Gradle无法解析已发布至OSS Sonatype的SNAPSHOT依赖求助

解决Gradle无法解析Sonatype OSS SNAPSHOT依赖的问题

嘿,我来帮你搞定这个快照依赖解析的问题!你的核心问题在于Gradle默认的mavenCentral()仓库只存放正式发布的版本,根本不会去拉取SNAPSHOT快照包,另外还要确认你发布的快照是不是真的同步到Sonatype的快照仓库里了。下面一步步来解决:

第一步:给Gradle加上Sonatype快照仓库

修改你build.gradle里的repositories块,把Sonatype的快照仓库加进去:

repositories {
    mavenCentral()
    // 新增Sonatype快照仓库地址(最新官方地址)
    maven {
        url "https://s01.oss.sonatype.org/content/repositories/snapshots/"
    }
}

小贴士:旧的Sonatype快照地址https://oss.sonatype.org/content/repositories/snapshots/也能用,但优先用上面的新地址更稳妥。

第二步:确认你的快照真的发布并同步成功了

刚发布的快照不会立刻在仓库里出现,Sonatype需要几分钟的同步时间。你可以登录Sonatype的Nexus管理后台,找找你的com.github.sitrakary:unit-converter:1.0-SNAPSHOT是不是已经躺在快照仓库里了,如果还没看到,多等一会儿再试。

第三步:检查依赖配置的细节

你的依赖里加了changing: true这点做得很对,它告诉Gradle这个是会动态更新的快照包。不过再仔细核对一下group、name、version是不是和你发布的完全一致,别出现拼写错误:

dependencies {
    // Gradle 4.10+版本推荐用implementation替代compile,旧版本用compile也没问题
    implementation group: 'com.github.sitrakary', name:'unit-converter', version:'1.0-SNAPSHOT', changing: true
    testImplementation group: 'junit', name: 'junit', version: '4.12'
}

第四步:强制Gradle刷新依赖缓存

有时候本地缓存会“卡”住旧的依赖信息,导致拉不到新快照。执行下面的命令强制刷新:

  • Mac/Linux系统:
./gradlew clean build --refresh-dependencies
  • Windows系统:
gradlew clean build --refresh-dependencies

最后再检查两个小细节

  • 确认你发布快照的过程没有出错:是不是执行了gradle publish任务,控制台没有报错信息?
  • 你的IDE(比如IntelliJ IDEA)是不是同步了Gradle配置?点一下右上角的「Sync Project with Gradle Files」按钮,让IDE重新加载依赖信息。

按照这些步骤操作后,应该就能顺利导入Converter类啦!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 04:32:04