使用mvn deploy發(fā)布到遠(yuǎn)程倉(cāng)庫(kù)時(shí)報(bào)錯(cuò) Return code is: 400
原因:
1.nexus的repository分三種類(lèi)型:Hosted、 Proxy和Virtual,另外還有一個(gè)repository group(倉(cāng)庫(kù)組)用于對(duì)多個(gè)倉(cāng)庫(kù)進(jìn)行組合。部署的時(shí)候只能部署到Hosted類(lèi)型的倉(cāng)庫(kù)中,如果是其他類(lèi)型就會(huì)出現(xiàn)這個(gè)400錯(cuò)誤。
2.默認(rèn)情況下部署構(gòu)件到Releases倉(cāng)庫(kù)中有時(shí)也會(huì)出現(xiàn)400錯(cuò)誤,這個(gè)原因就像上面提到的那樣,Nexus中 Releases倉(cāng)庫(kù)默認(rèn)的Deployment Policy是“Disable Redeploy”,
所以無(wú)論你在settings.xml文件中將server的username設(shè)置為deployment還是使用admin都是無(wú) 法部署的,就會(huì)出現(xiàn)這個(gè)400錯(cuò)誤。
3.Nexus中 Releases倉(cāng)庫(kù)Respository PolicySnapshot是“Release”
Snapshot倉(cāng)庫(kù)Respository PolicySnapshot是“Snapshot” 如果設(shè)置反了或錯(cuò)了也是無(wú)法部署的。
4.如果你Snapshot可以發(fā)布,但是releases卻發(fā)布不了,可能是<version>1.0-SNAPSHOT</version>類(lèi)似這樣的,version中包含了-SNAPSHOT,所以release發(fā)布不了,
也會(huì)返回400錯(cuò)誤。