求推荐可基于约定式提交自动升级project.version的Maven插件
Maven生态基于约定式提交自动升级项目版本的插件方案
Maven生态下有多个成熟的插件可以实现基于约定式提交、遵循SemVer 2.0.0规范自动升级project.version的需求,和你在Nx Monorepo中使用的自动版本升级插件能力对齐,常用方案如下:
1. jgitver-maven-plugin
这是一款基于Git提交历史和标签计算版本的轻量插件,内置约定式提交识别支持,可通过配置自定义不同提交类型对应的版本升级规则,默认适配规则如下:
- 包含
BREAKING CHANGE标记的提交触发主版本号升级 feat类型的提交触发次版本号升级fix类型的提交触发修订版本号升级
该插件同时支持单模块和多模块Maven项目,无需额外依赖即可完成pom.xml版本自动更新、Git标签自动生成等操作,基础配置示例如下:
<plugin> <groupId>fr.brouillard.oss</groupId> <artifactId>jgitver-maven-plugin</artifactId> <version>最新稳定版本号</version> <extensions>true</extensions> <configuration> <useConventionalCommits>true</useConventionalCommits> </configuration> </plugin>
2. semantic-release-maven-plugin
该插件是semantic-release生态的Maven适配实现,完全遵循约定式提交规范,除了自动升级版本号之外,还支持自动生成变更日志、发布制品到Maven仓库、推送版本标签到远程仓库等全流程能力,可灵活自定义提交类型、版本升级规则、后续执行动作,适配各类个性化版本管理需求。
通用使用注意事项
- 首次使用前需要在项目中初始化符合规范的基础版本标签,插件会基于最新标签之后的提交记录计算要升级的版本号
- 可直接集成到CI/CD流程中,配置合并到主分支时自动执行版本升级流程,无需人工干预版本号修改
- 多模块项目可配置统一的版本规则,所有子模块版本号同步升级,避免不同pom文件版本不一致的问题
内容的提问来源于stack exchange,提问作者user15013406
相关产品推荐
相关产品推荐

