Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/jenkins/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/clojure/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Maven pom.xml中的版本属性动态_Maven_Jenkins_Github_Pom.xml_Nexus - Fatal编程技术网

Maven pom.xml中的版本属性动态

Maven pom.xml中的版本属性动态,maven,jenkins,github,pom.xml,nexus,Maven,Jenkins,Github,Pom.xml,Nexus,我有一个Maven pom.xml,我与Jenkins一起在Nexus中构建项目和可执行jar部署。 但我想根据分支名称更改版本名称 enter code here 例如:我在pom.xml中有 <groupId>net.test</groupId> <artifactId>test-parent</artifactId> <version>0.0.1-SNAPSHOT</version> <name>iin-

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

enter code here
例如:我在pom.xml中有

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

如果使用
clean compile-package-deploy
您正在复制多个部分。只需要
clean-deploy
。请阅读有关的文档

此外,如果您希望动态更改版本,您可以使用正确的属性()来执行此操作,这些属性是
${revision}
${sha1}
${changelist}
,例如:

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

<properties>
  <revision>1.0-SNAPSHOT</revision>
</properties>
或者,如果您希望为分支机构执行此操作:

mvn -Drevision=2.0-BranchName-SNAPSHOT clean package

您必须知道,如果您想执行mvn clean deploy,请仔细阅读文档并遵循它们。

您好,谢谢mvn clean deploy为我工作得很好。但我还有一个查询:更新了pom.xml,如下所示:net.test test parent${revision}iin test pom 1.0-${git_branch}-SNAPSHOT。但无法获取分支名称,Nexus存储库另存为1.0-$%7Git_分支%7D-SNAPSHOT。你能建议一下吗?你必须使用其中一个列出的属性。您正在使用
revision
,因此您可以
sha1
和/或
变更列表
。在这种情况下,我建议使用
sha1
作为属性…除此之外,如果没有分支,会发生什么?或者你总是让分支成为版本的一部分?类似于
1.0-master
?顺便说一句:最好是更新帖子,而不是将代码等添加到注释中,因为注释很难阅读……是的,我一直希望命名为1.0-branch-snapshot(其中branch=master/dev/prod等)。
mvn -Drevision=2.0-SNAPSHOT clean package
mvn -Drevision=2.0-BranchName-SNAPSHOT clean package