首页 > 其他分享 >Maven使用${revision}实现多模块版本统一管理

Maven使用${revision}实现多模块版本统一管理

时间:2024-01-18 10:46:54浏览次数:32  
标签:assets admin Maven pom flatten 模块 clean revision

父pom: 

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

    <parent>
        <artifactId>parent</artifactId>
        <groupId>com.test</groupId>
        <version>1.2.5</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>
    <artifactId>assets-admin</artifactId>
    <version>${revision}</version>
    <packaging>pom</packaging>

    <modules>
        <module>admin-interface</module>
        <module>admin-service</module>
    </modules>

    <properties>
        <revision>1.1.10</revision>
    </properties>

    <dependencyManagement>
        <dependencies>
            
        </dependencies>
    </dependencyManagement>

    <build>
        <plugins>
          
            <!-- 添加flatten-maven-plugin插件 -->
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>flatten-maven-plugin</artifactId>
                <version>1.5.0</version>
                <executions>
                    <execution>
                        <id>flatten</id>
                        <phase>process-resources</phase>
                        <goals>
                            <goal>flatten</goal>
                        </goals>
                    </execution>
                    <execution>
                        <id>flatten.clean</id>
                        <phase>clean</phase>
                        <goals>
                            <goal>clean</goal>
                        </goals>
                    </execution>
                </executions>
                <inherited>true</inherited>
                <configuration>
                    <!-- 避免IDE将 .flattened-pom.xml 自动识别为功能模块 -->
                    <updatePomFile>true</updatePomFile>
                    <flattenMode>resolveCiFriendliesOnly</flattenMode>
                </configuration>
            </plugin>


        </plugins>
    </build>
</project>

 

 

子模块pom

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <parent>
        <groupId>com.test</groupId>
        <artifactId>assets-admin</artifactId>
        <version>${revision}</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>

    <artifactId>assets-admin-interface</artifactId>
    <packaging>jar</packaging>
    <dependencies>
        
    </dependencies>
</project>

 

标签:assets,admin,Maven,pom,flatten,模块,clean,revision
From: https://www.cnblogs.com/luckyboy2020/p/17971983

相关文章

  • Maven中的 scope 简单介绍
    Maven中各种scope的区别compile,默认,参与编译,测试,运行,打包等过程,大部分依赖都是这个test,仅参与测试代码的编译,运行,如junitruntime,参与测试,运行,打包,不编译,如mysql-connnectorprovided,参与编译,测试,运行,不打包,如java.servlet-apisystem,参与编译,测试,运行,不打包,从本地系统读取,......
  • RocketMQ 中冷热分离的随机索引模块详解
    作者:苏昌盛消息系统中随机索引的特点RocketMQ广泛使用于各类业务场景中,在实际生产场景中,用户通常会选择消息ID或者特定的业务Key(例如学号,订单号)来查询和定位特定的一批消息,进而定位分布式系统中的复杂问题。传统方案下,消息索引的存储是基于数据库系统或者基于本地文件系统实现......
  • 多模块之间的循环依赖:java: Annotation processing is not supported for module cycl
    问题描述java:Annotationprocessingisnotsupportedformodulecycles.Pleaseensurethatallmodulesfromcycle[BDCloud-business,BDCloud-admin]areexcludedfromannotationprocessing  本质:BDCloud-admin模块为主启动模块,其包含了BDCloud-business模块;但在......
  • RocketMQ 中冷热分离的随机索引模块详解
    作者:苏昌盛消息系统中随机索引的特点RocketMQ广泛使用于各类业务场景中,在实际生产场景中,用户通常会选择消息ID或者特定的业务Key(例如学号,订单号)来查询和定位特定的一批消息,进而定位分布式系统中的复杂问题。传统方案下,消息索引的存储是基于数据库系统或者基于本地文件系统实......
  • 解决Python虚拟环境安装模块失败的问题
    Python虚拟环境的出现为我们创建和管理项目提供了很大的方便。通过虚拟环境,我们可以隔离不同项目的依赖包,避免版本冲突和混乱。然而,有时候在虚拟环境中安装模块时会遇到各种问题,例如找不到模块、安装超时等。下面将介绍几种常见的情况和相应的解决方法,以帮助您顺利安装模块。1.网络......
  • BOSHIDA DC电源模块在新能源领域的应用前景
    BOSHIDADC电源模块在新能源领域的应用前景DC电源模块在新能源领域有着广阔的应用前景。随着可再生能源技术的发展和普及,如太阳能和风能等的应用逐渐增多,DC电源模块在这些领域的应用越来越重要。 首先,DC电源模块可以用于太阳能发电系统的直流电力转换。太阳能发电系统产生的......
  • 这个错误可能是由于 `PyInstaller` 在打包过程中没有正确地包含 `imp` 模块。以下是一
    `PyInstaller`默认使用运行它的Python解释器来打包您的脚本¹。如果您想要指定一个不同的Python解释器,您可以使用完整路径来运行`PyInstaller`³。例如,如果您想要使用位于`/path/to/python3`的Python3解释器,您可以使用以下命令:```bash/path/to/python3-mPyInstaller......
  • IntelliJ IDEA快速查询maven依赖关系
    IntelliJIDEA快速查询maven依赖关系1.在Maven窗口中点击Dependencies->showDependencies2.得到依赖关系图此时原有快捷键Ctrl+f可以查询jar包,如果没有查询菜单出来则设置快捷键方式为File->Settings->Keymap->搜索栏输入find->在MainMenu下Edit下Find下Find双击算则Ad......
  • 全志R128 Devkit开发板原理图模块介绍及使用说明
    针对R128模组,百问科技推出了R128DevKit开发板作为快速开发评估工具。板载R128-S2-N16R16模组板载2.4GRF陶瓷天线板载USBTypeCOTG板载UART转USB芯片板载RESET,FEL下载按键板载4颗WS2812RGBLED板载PMU,支持对外供电3.3V1A提供GPIO37个,引出3路MIC,2路......
  • Unity3D 游戏服务端哪些模块可以做成无状态详解
    Unity3D游戏服务端是指在使用Unity3D引擎开发的游戏中,负责处理与游戏客户端的通信以及游戏逻辑的服务器端。在设计游戏服务端时,有一种常见的设计模式叫做无状态模式。本文将详细介绍Unity3D游戏服务端哪些模块可以做成无状态,并给出技术详解和代码实现。对啦!这里有个游戏开发交流......