maven中央仓库修改验证方式导致用户名密码失效解决方式

0 阅读1分钟

大家好,这里是小奏,觉得文章不错可以关注公众号小奏技术

背景

之前发布一些自己的开源sdk到中央仓库使用的方式都是在maven中的settings.xml中配置usernamepassword

然后在pom.xml中配置distributionManagement,这样就可以使用mvn deploy命令将jar包发布到中央仓库了。

settings.xml中的usernamepassword一直没变过, 但是最近突然发现执行mvn deploy命令会报错,提示401

status code:401, reason phrase: Content access is protected by token (401)

原因

我们去官网查看401相关的异常提示

就能找到Content access is protected by token的原因

大致意思是身份验证的方式改了,需要使用token来验证身份了,而不是之前的usernamepassword了。

那么我们就去重新生成一个token就行

token生成

直接登入sonatype官网

然后找到profile选项点进去

然后找到user token

生成一个token

生成后的token保存下来

之后将生成加密后的usernamepassword替换掉settings.xml中的usernamepassword重新上传即可

总结

sonatype中央仓库主要是做了验证方式的升级,以前是明文的usernamepassword,现在是token的方式来验证身份了。

相比之前应该是更安全了。但是如果不知道这个变化的话,就会很懵。

明明以前一直没变过usernamepassword,现在突然就不行了

这时候重新去官网生成一个token就行了,然后替换掉settings.xml中的usernamepassword重新上传即可。