[ERROR] Failed to execute goal org.apache.maven.plugins:maven-deploy-plugin:2.8.2:deploy (default-deploy) on project aa-service: Failed to deploy artifacts: Could not transfer artifact com-test:aa:pom:1.0.0 from/to releases (http://nexus.test.com.cn/repository/maven-releases/): Failed to transfer file http://nexus.test.com.cn/repository/maven-releases/com/test/aa-1.0.0.pom with status code 400 -> [Help 1]
解决方案:
1,nexus的问题,配置下允许重载(不推荐)
到这里还没有结束,因为如果直接按照上面的设置的话会有一个安全问题,那就是这样所有的开发人员都可以将构件部署到Nexus的releases仓库中了,时间长了会导致这个仓库中非常乱,这也应该是nexus为什么默认情况下将Release仓库的发布权限关闭的原因了。解决这个问题的整体思路就是在部署构件的时候需要使用用户名和密码登录,操作如下:
(1) 首先将Releases仓库默认的Deployment Policy修改为“Allow Redeploy”;
(2) 然后在右边的Security下面的Users中,修改deployment帐号的密码,方法是在帐号上右键,然后选择“Set Password”;
方案二,直接删除有问题的nexus依赖包目录,重新发布到私有仓库就可以了(会存在问题,本地已引用的这个版本的依赖,不会再刷新!最好的办法是确定自己的pom没问题,加上一个小版本号,再发一次就行!)
举例: