Maven聚合项目一键生成版本号

目的:实现一键生成日期格式版本号,并打包,最后还原版本号.

 

首先,讲过程

我们需要有一个packaging类型为pom的pom.xml文件即我们的parent项目pom文件

pom

在这个parent项目中配置好groupId,artifactId,version以及properties,prerequisites,dependencies.

还有一个重要的配置项是modules.加入了这个项目之后执行maven版本号更新时才会同时去更新子模块的版本号.

    4.0.0
    pom

    com.hhj.demo
    hhj-demo
    1.0

    
        hhj-common
        hhj-srv
        hhj-business
     

    
        org.springframework.boot
        spring-boot-starter-parent
        2.0.5.RELEASE
    

接着,我们执行:

mvn versions:set -DnewVersion=0.0.2-SNAPSHOT

会发现在父模块和子模块下面都生成maven的版本控制文件pom.xml.versionsBackup(姑且这么叫吧,虽然看起来就是一个文件备份).

这里.我通过设置idea将*.versionsBackup文件隐藏掉.

Maven聚合项目一键生成版本号_第1张图片

同时,父模块和子模块的verion都更新为了0.0.2-SNAPSHOT.   

    4.0.0

    com.hhj.demo
    hhj-srv
    0.0.2-SNAPSHOT

     

到这里已经完成了子模块的版本号更新.

 

如果还不行,那就再加一个命令吧

mvn versions:update-child-modules

完成!

 

最后,为了方便我将其做出bat文件.

实现一键生成日期格式版本号,并打包,最后还原版本号.Maven聚合项目一键生成版本号_第2张图片

三个bat文件分别:

1version.bat生成日期格式版本号

@echo off  
set localdir=%~dp0
set hh=%time:~0,2%
if /i %hh% LSS 10 (set hh=0%time:~1,1%)
mvn versions:set -DnewVersion=1.0.%Date:~0,4%%Date:~5,2%%Date:~8,2%.%hh%
mvn versions:update-child-modules
mvn versions:commit
pause

 

3install.bat生成日期格式版本号,并打包,最后还原版本号

@echo off  
 
set localdir=%~dp0
call %~dp0/1version.bat
call mvn clean install -Dmaven.test.skip=true
call %~dp0/5version-default.bat
pause 

5version-default.bat还原版本号

@echo off  
set localdir=%~dp0
mvn versions:set -DnewVersion=1.0
mvn versions:update-child-modules
mvn versions:commit
pause

将三个bat文件放置项目根目录下,双击执行3install.batMaven聚合项目一键生成版本号_第3张图片最终效果

:Maven聚合项目一键生成版本号_第4张图片

你可能感兴趣的:(其他)