如何使用maven获取Jenkins构建编号

如何使用maven获取Jenkins构建编号,maven,jenkins,Maven,Jenkins,我试图使用mavenpom.xml读取Jenkins编号,使用以下代码。问题是,正如我在下面指定的那样,构建失败并出现错误。我提到了詹金斯提供的官方文件。如果我尝试使用任何文本而不是${BUILD\u NUMBER},那么它将在控制台中打印,而不是在变量中打印 POM配置文件参考: <profiles> <profile> <activation> <activeByDefault>true</

我试图使用maven
pom.xml
读取Jenkins编号,使用以下代码。问题是,正如我在下面指定的那样,构建失败并出现错误。我提到了詹金斯提供的官方文件。如果我尝试使用任何文本而不是
${BUILD\u NUMBER}
,那么它将在控制台中打印,而不是在变量中打印

POM配置文件参考:

<profiles>
    <profile>
        <activation>
            <activeByDefault>true</activeByDefault>
        </activation>
        <properties>
            <build.number>${BUILD_NUMBER}</build.number>
        </properties>
    </profile>
</profiles>

真的
${BUILD_NUMBER}
POM系统属性:

<systemPropertyVariables>
    <buildnumber>${build.number}</buildnumber>
</systemPropertyVariables>

${build.number}

如果我做错了什么,请告诉我

我对自己做的一件事是调用一些maven命令,比如
mvn版本:set
mvn-N版本:更新子模块
。我的pom文件的版本是x.y.z,所以我将它们设置为x.y.z.$buildnumber。如果需要,您可以将其替换为$buildnumber,但不要忘记maven将更新并将其提交回SCM,将次要版本增加1。你必须在下一次构建时处理这个问题

请注意,
${BUILD\u NUMBER}
是bash上可用的一个envvar(我可以在bash脚本中获得它),而不是maven变量


正如这里所解释的:,你可以做
${env.variable\u name}

试试
${env.BUILD\u NUMBER}
谢谢大家,我现在可以使用Maven获得Jenkins的版本号了。我在maven中使用它作为系统参数,它得到的是版本号。如果这个答案解决了问题,请接受它为正确答案,这样其他有类似问题的人也可以找到解决方案。最好的。