大家好,这里是小奏 ,觉得文章不错可以关注公众号小奏技术
背景
之前发布一些自己的开源sdk到中央仓库使用的方式都是在maven中的settings.xml中配置username和password,
然后在pom.xml中配置distributionManagement,这样就可以使用mvn deploy命令将jar包发布到中央仓库了。
settings.xml中的username和password一直没变过, 但是最近突然发现执行mvn deploy命令会报错,提示401。
status code:401, reason phrase: Content access is protected by token (401)
原因
我们去官网查看401相关的异常提示
就能找到Content access is protected by token的原因
大致意思是身份验证的方式改了,需要使用token来验证身份了,而不是之前的username和password了。
那么我们就去重新生成一个token就行
token生成
直接登入sonatype官网
然后找到profile选项点进去
然后找到user token
生成一个token
生成后的token保存下来
之后将生成加密后的username和password替换掉settings.xml中的username和password重新上传即可
总结
sonatype中央仓库主要是做了验证方式的升级,以前是明文的username和password,现在是token的方式来验证身份了。
相比之前应该是更安全了。但是如果不知道这个变化的话,就会很懵。
明明以前一直没变过username和password,现在突然就不行了
这时候重新去官网生成一个token就行了,然后替换掉settings.xml中的username和password重新上传即可。