maven deploy Return code is: 400

我们知道maven deploy生命周期是包含从package打包到install安装到deploy发布的三个过程,如果有测试用例,还会执行test过程,所以你如果想同时做到编译好以后本地仓库留一份jar,公司私仓也传一份jar,就只要执行maven clean deploy就可以了。

在执行maven clean deploy的时候出现失败,报错400:

 400错误的含义是“错误的请求”,在这里的原因是往往是没有部署到nexus的仓库中。nexus的repository分三种类型:Hosted、 Proxy和Virtual,另外还有一个repository group(仓库组)用于对多个仓库进行组合。部署的时候只能部署到Hosted类型的仓库中,如果是其他类型就会出现这个400错误。

还有一种情况也会出现400错误,就是默认情况下部署构件到Releases仓库中有时也会出现400错误,这个原因就像上面提到的那样,Nexus中 Releases仓库默认的Deployment Policy是“Disable Redeploy”,所以无论你在settings.xml文件中将server的username设置为deployment还是使用admin都是无 法部署的,就会出现这个400错误。

检查了下我们的私仓类型:

 也就是说只有红色框中的hosted类型对应的"Repository Path"才能用来执行deploy发布,这就好说了,把pom.xml换成hosted对应的某个"Repository Path"就可以了,“Repository”只能选Type是hosted的。

原文地址:https://www.cnblogs.com/zndxall/p/14981388.html