大家好,这里是小奏,觉得文章不错可以关注公众号小奏技术
背景
之前发布一些自己的开源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
重新上传即可。