如何通过Maven命令行更新pom.xml中parent标签的版本号
Maven更新parent标签版本的解决方案
你之前使用的mvn versions:set命令默认仅修改当前项目自身的版本号,不会处理parent节点的内容,因此无法更新parent版本,以下是两种可行的原生Maven命令方案:
方案一:使用专门的parent版本更新目标
versions:update-parent是versions插件专门用于更新parent版本的目标,支持精确指定目标版本,不会修改pom文件的原有格式和注释内容:
- 从3.0.1-SNAPSHOT更新为3.0.1正式版的命令:
mvn versions:update-parent -DparentVersion=3.0.1 -DallowSnapshots=false
- 发布完成后升级为3.0.2-SNAPSHOT的命令:
mvn versions:update-parent -DparentVersion=3.0.2-SNAPSHOT -DallowSnapshots=true
如果需要匹配旧版本避免误改,可以增加-DoldVersion=3.0.1-SNAPSHOT参数,版本不匹配时不会执行更新操作,和你自行编写的Python脚本校验逻辑效果一致。
方案二:给versions:set增加处理parent的参数
如果更习惯用versions:set的参数逻辑,只需要补充-DprocessParent=true参数即可让命令处理parent节点的版本:
mvn versions:set -DgroupId=com.mycompany.app.core -DartifactId=my-app-parent -DoldVersion=3.0.1-SNAPSHOT -DnewVersion=3.0.1 -DprocessParent=true
额外安全特性
versions插件默认会生成pom.xml.versionsBackup备份文件:
- 确认更新正确可以执行
mvn versions:commit删除备份文件完成提交 - 如果更新不符合预期可以执行
mvn versions:revert回滚到原文件内容,比自行编写脚本更安全。
内容的提问来源于stack exchange,提问作者Ilan
相关产品推荐
相关产品推荐

