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

如何登录Sonatype Nexus Repository Manager?Gradle发布401报错排查

如何登录https://oss.sonatype.org/的Sonatype Nexus Repository Manager?

问题背景

执行./gradlew publish时触发401错误,具体报错信息:

Execution failed for task ':initializeSonatypeStagingRepository'.
> Failed to load staging profiles, server at https://oss.sonatype.org/service/local/ responded with status code 401, body: 

当前build.gradle.kts配置如下:

plugins {
    id("io.github.gradle-nexus.publish-plugin") version "2.0.0"
    id("maven-publish")
    id("signing")
}

nexusPublishing {
    repositories {
        sonatype {
            val baseUrl = "https://oss.sonatype.org"
            nexusUrl.set(URI("$baseUrl/service/local/"))
            snapshotRepositoryUrl.set(URI("$baseUrl/content/repositories/snapshots/"))
            username.set(System.getenv("SONATYPE_USER"))
            password.set(System.getenv("SONATYPE_PASSWORD"))
        }
    }
}

通过GitHub在central.sonatype.com注册的账号,无法直接登录oss.sonatype.org(该平台无第三方登录选项),尝试用central平台生成的用户token登录也被拒绝,登录失败仅提示:Please login before attempting further requests.

正确登录及解决401问题的步骤

  • 新旧平台账号体系不互通:oss.sonatype.org是旧版Nexus仓库平台,和新版central.sonatype.com的账号系统相互独立,通过GitHub登录的新版账号无法直接用于旧平台。
  • 获取旧平台专属凭据:
    1. 登录central.sonatype.com,进入个人账号页面
    2. 在账号设置中找到「旧版Sonatype Nexus凭据」(对应英文「Legacy Sonatype Nexus Credentials」)选项
    3. 生成旧平台的独立用户名和密码,该凭据仅用于旧平台的登录和发布操作
  • 验证凭据有效性:用生成的旧版用户名和密码,直接在https://oss.sonatype.org/的登录界面输入即可完成登录验证
  • 更新配置解决401:将生成的旧版用户名和密码设置到SONATYPE_USER和SONATYPE_PASSWORD环境变量中,替换原有的无效凭据,重新执行./gradlew publish即可解决401错误

登录失败提示

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 22:54:55