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

无法发布至Maven Central,持续收到401未授权错误

解决Maven Central发布401未授权问题

针对你遇到的发布时401 Unauthorized错误,可从以下几个方向排查解决:

1. 核对凭证准确性

  • 你生成的User token中,A_USERNAME是token的ID,A_PASSWORD是token的密码,绝非你的GitHub账号密码,别搞混两类凭证。
  • 检查Gradle配置里的username和password是否完全复制了token的对应值,有没有多空格、少字符或拼写错误。

2. 规范管理凭证(避免硬编码)

不要直接把凭证写在build.gradle脚本里,建议把凭证放在~/.gradle/gradle.properties文件中:

ossrhUsername=你的token ID
ossrhPassword=你的token密码

然后在Gradle配置中引用这些属性:

publishing {
    repositories {
        maven {
            name = "OSSRH"
            url = uri("https://s01.oss.sonatype.org/service/local/staging/deploy/maven2/")
            credentials {
                username = project.findProperty("ossrhUsername") as String?
                password = project.findProperty("ossrhPassword") as String?
            }
        }
    }

    publications {
        create<MavenPublication>("mavenJava") {
            from(components["java"])
            artifactId = tasks.jar.get().archiveBaseName.get()
        }
    }
}

这种方式既避免凭证泄露,也能减少手动输入错误的概率。

3. 确认仓库URL有效性

你当前使用的https://s01.oss.sonatype.org/service/local/staging/deploy/maven2/是Sonatype新仓库地址,老地址oss.sonatype.org已停用,这里的URL是正确的,但仍需检查是否有拼写失误。

4. 验证命名空间权限

虽然你提到命名空间io.github.smyrgeorge已验证,但要确认你的OSSRH账号确实拥有该命名空间的发布权限,可登录Sonatype后台在「Namespace Management」或「Staging Repositories」板块核对。

5. 清理Gradle缓存

缓存的旧凭证可能引发冲突,执行以下命令清理后重新尝试发布:

./gradlew clean build --refresh-dependencies

内容的提问来源于stack exchange,提问作者Yorgos S.

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 00:33:30