在实际的开发过程中,尤其是现在推荐的敏捷开发中,项目版本经常发布,并且可能每周发布一个版本。
对于多模块项目,如何在发布时统一升级项目版本,如果所有操作均由人为操作,则很容易遗漏某个模块的版本并引起问题。
本文将要介绍的是使用Maven插件统一管理这些模块的版本并标准化该过程。
插件:maven-release-plugin 1.环境和目标1.示例环境:在Maven groupId> com.futaogroupId> artifactId> starter-fustackartifactId> version> 0.0.1上构建的多模块项目的父项目的坐标。
-SNAPSHOT版本>名称>启动器-fustackname>子模块列表:modules> > fustack-wx-mini-programmodule> > fustack-autoconfigurationmodule> > fustack-constsmodule> > demo-testmodule> > fustack-dbmodule> > fustack-foundationmodule> > fustack-腾讯云-短消息模块> > fustack-webmodule> > fustack-authmodule> > fustack-exceptionsmodule> > fustack-redismodule> > fustack-utilsmodule>模块> 2.示例目标:当前处于开发阶段,项目的版本为:0.0.1-SNAPSHOT,此版本的正式版本即将发布:0.0.1,并且在正式版本发布后,下一个开发版本是:0.0.2-SNAPSHOT。
并同时将构建的组件发布到Maven专用服务器。
2.插件简介插件:maven-release-plugin命令:mvn release:prepare:准备发布版本检查项目是否包含未提交的代码(如果有),将报告错误。
检查项目是否依赖于快照版本。
提示用户输入要发布的版本号,并自动将项目中pom文件中的版本号更新为用户输入的版本号。
提示用户输入标记名。
基于修改后的pom进行构建。
将pom更改提交到VCS。
提示用户输入下一个开发版本的版本号,并将项目中pom文件中的版本号自动更新为用户输入的版本号。
将pom更改提交到VCS。
mvn release:rollback:回退准备阶段的操作,将pom回退到以前的状态并提交,但不会删除prepare生成的标记标签。
mvn release:执行:执行版本发布,执行mvn deploy命令以打包组件并将组件部署到远程仓库。
3.演示过程1.添加发行插件支持插件> groupId> org.apache.maven.pluginsgroupId> artifactId> maven-release-pluginartifactId> maven-release-pluginartifactId> https://github.com/FutaoSmile/starter-fustack--> autoVersionSubmodule trueautoVersionSubmodules> tagNameFormat>按人发行-$ {version} tagNameFormat>配置>插件>如果需要将构建的组件发布到您的Maven专用服务器,则需要配置以下内容:添加〜/ .m2 / settings.xml在项目中配置Maven专用服务器的用户名和密码。
具有存储库distributionManagement的pom.xml文件>仓库> id>对应于在设置>中设置的idid url>要上传到url的maven私有服务器地址>仓库> distributionManagement> 2.在pom.xml中,在scm>中设置SCM地址。
scm:git:https://github.com/FutaoSmile/starter-fustack--> developerConnection> scm:git:https://github.com/FutaoSmile/starter-fustackdeveloperConnection> https://github.com/FutaoSmile/starter-fustack-->标签> v-release-0.0.1标签> scm> 3.执行命令mvn release:prepare mvn relase:perform准备准备过程的屏幕截图:执行版本发布屏幕截图:检查maven专用服务器,是否成功上传了组件image.png代码已自动更新为下一个开发版本图像。
png#源代码https:// gitee。
com / FutaoSmile / starter-fustack https://github.com/FutaoSmile/starter-fustack我特别推荐一种高质量的内容共享架构+算法。
如果您没有关注,则可以长按以关注它:长按以订阅更多令人兴奋的内容▼如果您有任何收获,请单击此处查看,衷心感谢您的免责声明:本文的内容经授权后发布。
21ic,版权归原作者所有。
该平台仅提供信息存储服务。
本文仅代表作者的个人观点,并不代表该平台的立场。
如有任何疑问,请与我们联系,谢谢!