现象
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-deploy-plugin:2.7:deploy (default-deploy) on project my-pro-common: Failed to deploy artifacts: Could not transfer artifact org.example.project.my:my-pro-common:jar:1.0.0 from/to mynexus (https://repo.myrepo/content/repositories/releases/): Authorization failed for https://repo.myrepo/content/repositories/releases/org/example/project/my/my-pro-common/1.0.0/my-pro-common-1.0.0.jar 403 Forbidden -> [Help 1]
结论
版本号指定的是1.0.0,而对应的maven账号在nexus里只有SNAPSHOT和RELEASE包的操作权限,因此报错deploy失败,将1.0.0改为1.0.0-SNAPSHOT后deploy成功
分析过程
拆解细化deploy步骤
deploy分为compile-本地install-远程deploy(详细环节可百度mvn构建过程),分别执行这几个命令,判断哪个环节出了问题:install成功,deploy失败,判断是远端仓库报错
403错误
远端仓库存在,请求可以理解,但仓库拒绝执行,考虑账号密码是否有误(均无误)
版本号与账号权限
这时基本定位是账号权限问题,排查该账号是否只指定了SNAPSHOT库或RELEASE库的权限。与其他能deploy成功的老项目对比version后确认,问题出在此处。