gpt4 book ai didi

maven-2 - 具有小型且频繁发布的 Maven 项目的版本控制

转载 作者:行者123 更新时间:2023-12-02 20:48:50 26 4
gpt4 key购买 nike

我正在将 ant 项目转换为 Maven 项目。该项目与我通常转换的项目不同,因为它的发布非常频繁,通常每天 8-10 次。

我所说的发布是指将生成的 jar 打包并包含在生产环境中。该项目是一个叶子项目,因此它不发布 API,仅使用它。它至多也是另外两个项目的运行时依赖项。

我想要一个版本控制方案,其中:

  • 部署很容易,无需强制开发人员考虑为项目分配什么版本号,因为版本号没有意义;
  • 可以轻松地将此项目的最新版本作为依赖项包含在内,而无需不断增加依赖项版本;

很可能依赖版本不是 -SNAPSHOT,因为这会与我们用于其他项目的 maven-release-plugin 冲突,但我我愿意接受建议。

最佳答案

实际上,您可以使用x-SNAPSHOT版本并仍然使用maven-release-plugin 。只需在 mvn release:perform 之前使用 mvn release:prepare 来准备您的版本,并将 poms 中的版本从 x-SNAPSHOT 更改为新版本版本(系统将提示您选择要使用的版本)。你可以看看这个introduction到 maven-release-plugin 快速了解 release:preparerelease:perform

然后,要包含最新版本而不需要不断更新依赖项版本,您可以使用依赖项范围,如以下代码片段所示,我们指定了范围 Junit 3.8 - Junit 4.0:

<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>[3.8,4.0)</version>
<scope>test</scope>
</dependency>

逗号之前或之后的版本不是必需的,表示+/-无穷大。例如,[4.0,) 表示任何大于或等于 4.0 的版本。

就我个人而言,我不太喜欢使用依赖范围,因为我发现它可能会导致构建可重复性问题并使构建更加脆弱。

但您可能有充分的理由使用它们。

关于maven-2 - 具有小型且频繁发布的 Maven 项目的版本控制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1524283/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com