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

执行sbt:publishSigned时遇ProtocolException重定向过多问题求助

解决sbt publishSigned重定向次数过多问题

1. 检查Sonatype仓库URL配置

sbt-sonatype插件旧版默认使用的oss.sonatype.org地址已逐步被https://s01.oss.sonatype.org替代,这很可能是重定向循环的根源。检查你的构建配置(build.sbt或sonatype.sbt),确保仓库URL正确:

publishTo := Some(
  if (isSnapshot.value)
    Opts.resolver.sonatypeSnapshots
  else
    Opts.resolver.sonatypeStaging
)

也可以显式指定新地址:

publishTo := Some("Sonatype Release" at "https://s01.oss.sonatype.org/service/local/staging/deploy/maven2/")
publishTo := Some("Sonatype Snapshots" at "https://s01.oss.sonatype.org/content/repositories/snapshots/")

2. 清理本地缓存与Sonatype staging状态

  • 执行sbt clean cleanFiles,删除~/.sbt和~/.ivy2/cache下的项目相关缓存,避免旧配置残留
  • 登录Sonatype Nexus控制台,检查是否有未关闭/未删除的残留staging仓库,这类资源可能导致发布路径冲突,直接清理即可

3. 切换Java LTS版本测试

你当前使用的OpenJDK 23属于非LTS版本,部分旧版sbt插件对其协议层支持可能存在兼容性问题。临时切换到OpenJDK 17或21(LTS版本),重新执行publishSigned命令验证是否解决问题

4. 升级sbt-sonatype插件

当前使用的3.9.5版本较旧,升级到最新稳定版(如4.0.0+),新版本修复了诸多与Sonatype仓库交互的bug:

addSbtPlugin("org.xerial.sbt" % "sbt-sonatype" % "4.0.0")

5. 排查Sonatype端目录问题

如果上述操作无效,用curl手动测试仓库访问:

curl -v https://s01.oss.sonatype.org/service/local/staging/deploy/maven2/[你的groupId路径]

若仍出现多次重定向,说明你的项目groupId对应的Sonatype目录可能存在权限或路径配置异常,直接联系Sonatype支持团队,提供groupId和发布日志排查问题


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 22:33:10