从Maven远程仓库中删除版本

问题描述 投票:0回答:1

我目前正在从事我的第一个Maven项目,并且对Maven版本感到困惑。我了解在开发新版本时,应在版本号中使用SNAPSHOT关键字。我也了解非SNAPSHOT版本只能发布一次。

我想知道是否有可能从Maven远程存储库中删除旧版本。例如,如果我不希望再下载1.0.2版本,该怎么办?

另外,假设我正在使用版本1.0-SNAPSHOT。当我部署版本1.0时,上一个1.0-SNAPSHOT版本会被其非SNAPSHOT对应版本删除/替换吗?

java maven versioning
1个回答
1
投票

对此的简单答案:发行版本(无SNAPSHOT)是不可变的。这包括将永远保留。

原因是:

[如果有人使用您的版本1.0.2,而您只需删除它,则这些>>构建将在没有明显原因的情况下失败。

关于您提到的事情的一句话:

我也了解非SNAPSHOT版本应该只发布一次。

您不能两次发布相同版本。永远不可能,永远不要。这意味着您将覆盖和更改行为的现有版本。这也可能破坏其他版本。

例如,您可以查看https://search.maven.org/artifact/javax.mail/mail,您会发现超过15年的文物。它们永远不会被删除,原因可能是有人在使用它们。

如果您的版本1.0.2中有问题,只需创建一个可解决问题的新版本1.0.3。版本号应在semantical versioning之后。

[如果您在开发过程中正在运行版本1.0-SNAPSHOT,并在发布maven-release-plugin期间发布它(通常是通过1.0),则通常会自动删除1.0-SNAPSHOT版本。因此,1.0-SNAPSHOT不再可用。这是Maven存储库管理器的默认配置。

© www.soinside.com 2019 - 2024. All rights reserved.