gpt4 book ai didi

svn - Maven 版本、subversion 分支和本地存储库

转载 作者:行者123 更新时间:2023-12-05 00:08:52 28 4
gpt4 key购买 nike

想象以下场景:

我们在几个 svn 分支中进行了大量并行开发。有些项目是非分支的,有些是分支的。有很多相互依赖。我们还有一个本地存储库(因此没有开发人员直接下载包,我们使用自己的 maven 存储库)。

问题在于 Maven,我们必须在所有 pom 文件中指定版本。带有版本的工件存储在我们的本地存储库中。在处理多个分支时,我们将使用来自另一个分支的工件覆盖相同版本的工件(在 pom 文件中)。

如果我在 pom 文件中使用版本号来包含一些分支信息,那么依赖于许多分支模块的非分支模块就会出现问题。

是否有任何标准的解决方案/政策来应对这个问题?

为每个分支创建一个单独的存储库是一个解决方案,但是看看我们可能拥有的分支数量,它有点贵。

最佳答案

您可以为您的工件使用分类器功能吗?

我认为为此使用分类器不是标准操作程序,但它应该可以工作。我相信分类器的目的是根据特定于区域的过滤器、JDK 版本等创建不同版本的工件。但这似乎是一个非常特定于项目/环境的东西,所以我认为为此劫持它就可以了.

如果您要像这样指定您的工件:

<artifactId>artifact-a</artifactId>
<groupId>com.mygroup</groupId>
<version>1.1-SNAPSHOT</version>
<classifier>BRANCH-Q</classifier>

在您的存储库中,您将获得:
artifact-a-1.1-SNAPSHOT-BRANCH-Q.jar

然后,您可以使用分类器在依赖项中指定工件以获得正确的工件。

关于svn - Maven 版本、subversion 分支和本地存储库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1103052/

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