背景
之前釋出一些自己的開源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
重新上傳即可。