【问题标题】:What would be the SNAPSHOT version of 2 different feature branches with same released version具有相同发布版本的 2 个不同功能分支的 SNAPSHOT 版本是什么
【发布时间】:2018-07-24 19:27:32
【问题描述】:

我们遇到了一个问题,即我们在一个项目中提供了两个不同的功能,这些功能将与相同的发布版本一起交付。

例如-

该项目的当前发布版本是 7.0.0.4,项目中将有两个不同的功能实现,即并行和缓存功能。现在我们需要从主干中为缓存和并行项目特性取出两个分支,并且两者都将处于积极开发中,这两个特性都将在项目的 7.0.0.7 发布版本中发布。
Maven 坐标像 -

用于并行功能

GroupId - com.tom.tomproject

artifactID - project

version - 7.0.0.7-SNAPSHOT

用于缓存功能

GroupId - com.tom.tomproject

artifactID - project

version - 7.0.0.7-SNAPSHOT

这里两个分支的 SNAPSHOT 版本(7.0.0.7-SNAPSHOT)相同,会导致歧义。 解决这个问题的好方法是什么。

我应该更改 groupID 吗?或者有没有其他方法可以解决这个问题?

【问题讨论】:

    标签: maven continuous-integration nexus


    【解决方案1】:

    如果您想像这样构建单独的版本,请使用版本号来分隔您的分支,例如

    7.0.0.7-Parallel-SNAPSHOT
    

    7.0.0.7-Caching-SNAPSHOT
    

    【讨论】:

    • 它也可能是一种仅根据功能更改版本号的方法,例如 7.1.0.0-SNAPSHOT 用于功能增强,7.2.0.0-SNAPSHOT 用于另一个功能......但在这种情况下,我建议保留 semver版本号...
    • @JF Meier 感谢您的回答,但我怀疑如果在 CI 的情况下我使用 LATEST 作为项目依赖项的版本,构建路径 7.0.0.7-Parallel-SNAPSHOT 或7.0.0.7-Caching-SNAPSHOT 或其中最新的。
    • 首先, LATEST 已被弃用。如果您想要最新版本,请使用版本插件更新版本。其次,在这种情况下,不能做这样的事情。如果你在两个不同的分支上开发,没有最新版本,所以改变groupId、artifactId或version都没有关系。
    • 我们可以更改 groupId 吗?或者更具体地说,是否建议在任何情况下更改 groupId?
    • 如果您更改了版本号以外的其他内容,那么这些工件看起来与 Maven 完全无关。这例如意味着您可能会不小心将两者都放在类路径中。为什么要更改 groupId?
    猜你喜欢
    • 2019-11-12
    • 1970-01-01
    • 1970-01-01
    • 2023-03-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-24
    • 2019-09-24
    相关资源
    最近更新 更多