我正在使用Maven jfrog插件:https://jenkins.io/doc/pipeline/steps/artifactory/#rtmavendeployer-设置maven部署程序
我想在部署时更改工件的版本,使其具有功能分支名称。
我试着实现设定的版本目标。它成功了,但完全忽略了版本
rtMavenRun (
pom: "pom.xml",
goals: 'versions:set -DnewVersion=1.2.3-SNAPSHOT clean install',
resolverId: 'resolver-unique-id',
deployerId: 'deployer-unique-id'
)
问题如下:在一次Maven运行中调用目标versions:set
以及阶段clean
和install
。在第一个目标运行之前,Maven已经解析了运行的所有目标/阶段的版本。因此,您可以更改POM中的版本,但由于Maven已经阅读了它,因此在这次运行中您将无法看到它。
可能的解决方案是什么?
- 您可以先运行
versions:set
,然后在单独的Maven运行中运行clean install
- 可以在
<version>
的定义中使用属性${revision}
,然后在命令行中设置此属性