Git 如何使用mvn release:update versions从发布标签创建新的快照分支?

Git 如何使用mvn release:update versions从发布标签创建新的快照分支?,git,maven,maven-release-plugin,Git,Maven,Maven Release Plugin,如果我从git标记创建一个新分支,那么pom(正确地)只包含非快照版本。因此,当我尝试使用: mvn release:update-versions -DautoVersionSubmodules=true 我得到一个错误: 无法在项目上执行目标org.apache.maven.plugins:maven发布插件:2.5:更新版本(默认cli): 反应堆项目列表中没有快照项目 我可以在包含正确代码的标记之前签出提交。但这并不理想,因为从git的历史来看,还不清楚它是否基于特定的发布版本 如何从

如果我从git标记创建一个新分支,那么pom(正确地)只包含非快照版本。因此,当我尝试使用:

mvn release:update-versions -DautoVersionSubmodules=true
我得到一个错误:

无法在项目上执行目标org.apache.maven.plugins:maven发布插件:2.5:更新版本(默认cli): 反应堆项目列表中没有快照项目

我可以在包含正确代码的标记之前签出提交。但这并不理想,因为从git的历史来看,还不清楚它是否基于特定的发布版本


如何从发布版本开始,自动为mutli POM项目设置版本?

maven发布插件有一个特定于创建分支的目标:。引用该目标制定的流程:

  • 检查源中是否没有未提交的更改
  • 如果要在分支中更改版本,请在POMs中更改版本(系统将提示您输入要使用的版本)
  • 转换POM中的SCM信息以包括标记的最终目的地
  • 提交修改后的POM
  • 将SCM中的代码标记为具有版本名称的新分支(将提示输入)
  • 如果要将POMs中的版本更改为新值y-SNAPSHOT,请在POMs中对其进行凹凸处理(还将提示输入这些值)
  • 提交修改后的POM
此目标将提示您在分支中输入所需的版本,并且您将能够指定快照版本。如果添加
autoVersionSubmodules
属性,它还可以处理多模块项目

典型的调用是:

mvn release:branch -DbranchName=my-branch -DupdateBranchVersions=true -DupdateWorkingCopyVersions=false -DautoVersionSubmodules=true

同样的问题也发生在我的构建上。它是在詹金斯身上运行的。 我的问题在詹金斯内部得到了解决。 在Jenkins build上-转到工作区->清除当前工作区。 ->同样对于PROD构建,大多数时候您应该将SCM用户/pwd用于Maven发布构建 ->然后输入新的内部版本号(可选)

一切都很好