如果存储库中有相同快照版本的发布版本,如何停止 Maven 构建?

Posted

技术标签:

【中文标题】如果存储库中有相同快照版本的发布版本,如何停止 Maven 构建?【英文标题】:How to halt the maven build if a release build for the same snapshot version is available in the repository? 【发布时间】:2019-07-11 08:31:09 【问题描述】:

社区中是否有可用的插件或者我需要构建一个?

【问题讨论】:

你为什么需要它?因为如果一个版本的构建让我们说 1.0.0 已经完成,pom 中的版本会通过版本控制进行更改......? @khmarbaise ~~你可能正在重新设置一个多分支管道,它甚至会自动部署已经构建和部署的标签。~~没关系,我误解了这个问题。 没问题。如果我没记错的话,多分支管道只能通过在现有分支上创建新分支和/或提交来触发,而不是在标签上。此外,如果您第二次部署发布,这无论如何都会失败,因为发布是不可变的,因此您无法重新部署已经存在的标签等。 【参考方案1】:

我为此编写了自己的强制执行规则,因为我找不到“官方”插件或规则。

【讨论】:

【参考方案2】:

这里有一个 Maven 插件,可以让您将 -SNAPSHOT 版本替换为相应的发布版本:https://www.mojohaus.org/versions-maven-plugin/use-releases-mojo.html

虽然这不会停止构建,但如果您想添加功能,这是一个好的开始。

【讨论】:

以上是关于如果存储库中有相同快照版本的发布版本,如何停止 Maven 构建?的主要内容,如果未能解决你的问题,请参考以下文章

Elasticsearch 快照和恢复

如何从maven存储库中清除旧的依赖项?

如何在 Gradle 中获取下一个内部版本号

如何在Nexus 2.x中提供对工件的最新快照的URL访问?

快照版本与发布版本

如何停止街机库中的背景音乐?