问题起因:
今天自己的项目发布了一个新版本,打算通过GitHub流水线直接推送至Maven中央仓库,结果发现报错 `401`,说我的账号密码认证失败。我充满了疑惑我寻思难度我的号被盗掉了吗。于是我打开Nexus Repository Manager尝试登录账号,发现账号直接登录失败了,我慌了于是我连忙点击进入issues.sonatype.org,便有了今天的这个问题:
上述文档的意思是: issues.sonatype.org已被废弃,变为新的中央仓库来发布管理账号,当然你之前在 issues.sonatype.org上面的账号也直接给你废弃了。好好好!
于是接下来我尝试了重新创建账号,但是已经无法使用原来的namespace了,同时中央仓库我也无法使用新账号进行注册。在我边骂边看文档的情况下,我找到了一个解决方法。
解决方法
1,💳 创建一个新账号,用你原来的账号or邮箱创建最好
2,📧 准备好一封邮件发送给central-support@sonatype.com,告诉他们你的号被删了,你需要进行namespace合并以及中央仓库账号激活,参考以下内容并修改花括号的内容即可
Title:add new account to already register namsepace
I previously registered an account on issues.sonatype.org and had a verified namespace
{你的namespace} , Now that issues.sonatype.org has been deprecated, I am unable to use my previous account for project push. Please add my new account to the {你的namespace} namespace
account number: {你的账号}
Namespace: {你的namespace}
this is my github account:
{我的是github的namespace所以附带了我github账号的截图}
3,🕑 等他们回你消息即可,再没回你消息之前基本上你都进不去中央仓库,发包只能在平台上面手动发包,时间大概是一天
这个时候你就可以用你现在的账号密码进入中央仓库了
新的包发布方式
目前提供了两种发包方式:Ossrh与Central Portal,在这里我使用的是Ossrh老方法,并且我本身的Github Actions也是使用的这种方法,所以我就着重介绍这一种
Ossrh
新的Ossrh与旧的Ossrh不同的一点是,目前不能使用账号密码来进行发包了,而是使用token,生成token也很简单,步骤三步走:
1,登录中央仓库
2,下拉右上角账号,点击profile
3,选择`use token access`并且生成token
拥有token后,将你的maven配置文件或者是你的流水线中的username以及password替换成token生成的即可,再跑一次基本上就能顺利发包了
Central Portal
参考这个发布文档即可,多的我就不赘述了。
Publishing via the Central Portalhttps://central.sonatype.org/publish-ea/publish-ea-guide/