pom.xml中的版本属性动态

时间:2018-07-27 13:52:21

标签: maven jenkins github pom.xml nexus

我有一个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干净的编译程序包部署。但是我想动态获取分支名称。

enter code here

1 个答案:

答案 0 :(得分:0)

如果您使用clean compile package deploy,则说明您要复制多个部分。仅需要clean deploy。请阅读有关Maven Life cycle的文档。

此外,如果您想动态更改版本,则可以使用${revision}${sha1}${changelist}的正确属性(Starting with Maven 3.5.0+)来做到这一点,例如:

<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,请仔细阅读文档并加以遵循。