今天执行maven命令 mvn release:perform
将项目发布到maven中央仓库,命令显示执行成功了,
但在后台按release
按钮后,出了错,如下的错误:
Artifact updating: Repository ='releases:Releases' does not allow updating xxxxxx.pom,
Repository with ID='releases' does not allow updating artifacts.
意思就是'releases'
仓库不允许上传制品。
以前遇到的问题是 mvn release:perform
失败,这都好理解,但现在是上传制品已经成功,在后台按close
按钮执行制品验证也没问题,就是在按release
按钮执行发布时出了错,这种情况第一次遇见。
我将版本回退,并在后台删除上传的制品,重新执行一次mvn release:perform
,反复几次还是同样的问题。
根据错误提示在网上找到下面这个讨论
《Issue with Maven Release Plugin and Nexus Disable Redeployments》
给了我启发,发现不知道什么原因,有一次版本上传出了错,但这个制品的有些文件已经被保存到了maven中央仓库的releases
制品库,也就是正式版本库。
所以再次按release
按钮执行发布时,因为releases
制品库已经存在同名文件,就报了上述的错误。
解决方案一
不管releases
制品库残留的文件,干脆放弃这个版本,版本号递增,重新发布一个版本。这个方案最简单了。
解决方案二
删除上传制品中的重复的文件,再按release
按钮执行发布。
或如下在releases
制品库中找到残余的文件按delete
删除,再按release
按钮执行发布。