pom 版本管理
这篇文章不会太长,但可以节省很多时间。 如果使用Maven,则需要在整个模块层次结构中手动更新POM版本几次? 对我来说,答案是:“太多”。
当您的项目增长到包括许多Maven模块时,发布新版本可能是一场噩梦。 当然,您有maven-release-plugin。 它做了很多事情,但是在某些情况下,我看到它失败了。 那你怎么办呢? 您可以在模块层次结构中手动更改POM版本:
- 模块的POM的版本
- 父母的POM版本
这不仅无聊,而且容易出错。 当我发现maven-version-plugin及其命令行的小东西时,想像一下我的惊讶:
mvn versions:set -DnewVersion=1.0.1-SNAPSHOT
而且,该插件可以为您完成所有操作,进入每个模块并更改以前的信息:
[INFO] [versions:set] [INFO] Searching for local aggregator root... [INFO] Local aggregation root: D:\workspace\Champion Utilities [INFO] Processing ch.frankel.champions.license:license [INFO] Updating project ch.frankel.champions.license:license [INFO] from version 1.0.0 to 1.0.1-SNAPSHOT [INFO] [INFO] Processing ch.frankel.champions.license:license-check [INFO] Updating parent ch.frankel.champions.license:license [INFO] from version 1.0.0 to 1.0.1-SNAPSHOT [INFO] Updating project ch.frankel.champions.license:license-check [INFO] from version 1.0.0 to 1.0.1-SNAPSHOT [INFO] [INFO] Processing ch.frankel.champions.license:license-common [INFO] Updating parent ch.frankel.champions.license:license [INFO] from version 1.0.0 to 1.0.1-SNAPSHOT [INFO] Updating project ch.frankel.champions.license:license-common [INFO] from version 1.0.0 to 1.0.1-SNAPSHOT [INFO] [INFO] Processing ch.frankel.champions.license:license-generation [INFO] Updating parent ch.frankel.champions.license:license [INFO] from version 1.0.0 to 1.0.1-SNAPSHOT [INFO] Updating project ch.frankel.champions.license:license-generation [INFO] from version 1.0.0 to 1.0.1-SNAPSHOT
试试看,这是一个真正强大而又简单的方法!
pom 版本管理