Maven动态统一修改版本号

前言

项目上线1.0 RELEASE后,需要做版本更新管理,需求为:项目自动化构建时,项目的版本号统一变更,即maven项目打包版本号管理。详细讲解下自己收集后的几种方式,希望对有兄弟们有帮助!!!

项目层级

Method One

注:自定义参数变量env.project.version,env可以按项目时间情况为生成环境prod、开发环境dev、测试环境test

1.在maven项目的父级pom.xml中设置变量。如下:

 <modelVersion>4.0.0</modelVersion>

    <groupId>com.bilibili</groupId>
    <artifactId>moba-explorer</artifactId>
    <packaging>pom</packaging>
    <version>${env.project.version}</version>

    <modules>
        <module>moba-explorer-api</module>
        <module>moba-explorer-service</module>
        <module>moba-explorer-core</module>
        <module>moba-explorer-db</module>
    </modules>

    <properties>
        <env.project.version>1.0-SNAPSHOT</env.project.version>
        <maven.compiler.source>17</maven.compiler.source>
        <maven.compiler.target>17</maven.compiler.target>
    </properties>

2.修改其子模块pom.xml

    <parent>
        <artifactId>moba-explorer</artifactId>
        <groupId>com.bilibili</groupId>
        <version>${env.project.version}</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>

    <artifactId>moba-explorer-api</artifactId>
    <parent>
        <artifactId>moba-explorer</artifactId>
        <groupId>com.bilibili</groupId>
        <version>${env.project.version}</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>

    <artifactId>moba-explorer-service</artifactId>
    <parent>
        <artifactId>moba-explorer</artifactId>
        <groupId>com.bilibili</groupId>
        <version>${env.project.version}</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>

    <artifactId>moba-explorer-core</artifactId>
    <parent>
        <artifactId>moba-explorer</artifactId>
        <groupId>com.bilibili</groupId>
        <version>${env.project.version}</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>

    <artifactId>moba-explorer-db</artifactId>

3.使用mvn clean package插件,或命令 mvn clean package

 

 4.idea子模块使用父模块变量标红:Properties in parent definition are prohibited

 

 解决:

打开idea,在setting中搜索prohibited,将usage of properties in modules parent definition is prohibited的选中框去掉即可

Method Two

注:Maven Project Version插件

在Maven项目开发中,我们经常需要进行打SNAPSHOT包以便其他项目能够实时地使用最新代码进行联调。在package时,我们首先要更改父pom中的版本号version,然后还要在项目中的每一个module的pom中更改父依赖的版本号。如果涉及到很多歌module,则手动更改效率很低。IDEA插件则可以帮助我们!

安装完成后在Maven的界面则有一个向上的箭头标志

 点击如图所示的向上箭头,在弹出的框里填写hope生成的版本号

 

 然后再点击Submit,就会发现所有module的pom文件对应部分都被修改!!!

Method Three

注:有空再更新啦~

猜你喜欢

转载自blog.csdn.net/m0_60252632/article/details/125570381