gpt4 book ai didi

maven - pom.xml 中的版本属性动态

转载 作者:行者123 更新时间:2023-12-04 13:21:35 28 4
gpt4 key购买 nike

我有一个 Maven pom.xml,我使用 Jenkins 在 Nexus 中构建项目和可执行 jar 部署。
但我想根据分支名称更改版本名称。

例如:我在 pom.xml

<groupId>net.test</groupId>
<artifactId>test-parent</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>iin-parent</name>
<packaging>pom</packaging>

我需要这样设置:(Branch-Master/Test1/Test2/..)
<groupId>net.test</groupId>
<artifactId>test-parent</artifactId>
<version>BranchName_0.0.1-SNAPSHOT</version>
<name>iin-parent</name>
<packaging>pom</packaging>

如何才能做到这一点?

我正在使用 MVN 构建,如 -Drevision=BranchName-SNAPSHOT clean compile package deploy。但我想动态获取分支名称。
enter code here

最佳答案

如果您使用 clean compile package deploy您正在复制几个部分..only clean deploy需要。请阅读有关 Maven Life cycle 的文档.

此外,如果您想动态更改版本,您可以使用正确的属性 ( Starting with Maven 3.5.0+ ) 来实现,即 ${revision} , ${sha1}${changelist}所以例如:

<groupId>net.test</groupId>
<artifactId>test-parent</artifactId>
<version>${revision}</version>

<properties>
<revision>1.0-SNAPSHOT</revision>
</properties>

这可以在 Maven 中完成,如下所示:
mvn -Drevision=2.0-SNAPSHOT clean package

或者如果您想为分支执行此操作:
mvn -Drevision=2.0-BranchName-SNAPSHOT clean package

如果你喜欢做,你必须知道 mvn clean deploy请仔细阅读文档并遵循它们。

关于maven - pom.xml 中的版本属性动态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51559471/

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