首页 > 其他分享 >基于flatten-maven-plugin插件实现maven多模块版本管理,维护为相同版本号

基于flatten-maven-plugin插件实现maven多模块版本管理,维护为相同版本号

时间:2024-09-03 20:37:57浏览次数:12  
标签:插件 plugin 版本号 xxx maven flatten 模块

pom文件引入flatten-maven-plugin插件

<build>
        <plugins>
            <!-- 添加flatten-maven-plugin插件 -->
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>flatten-maven-plugin</artifactId>
                <version>1.3.0</version>
                <inherited>true</inherited>
                <executions>
                    <execution>
                        <id>flatten</id>
                        <phase>process-resources</phase>
                        <goals>
                            <goal>flatten</goal>
                        </goals>
                        <configuration>
                            <updatePomFile>true</updatePomFile>
                            <flattenMode>resolveCiFriendliesOnly</flattenMode>
                            <pomElements>
                                <parent>expand</parent>
                                <distributionManagement>remove</distributionManagement>
                                <repositories>remove</repositories>
                            </pomElements>
                        </configuration>
                    </execution>
                    <execution>
                        <id>flatten.clean</id>
                        <phase>clean</phase>
                        <goals>
                            <goal>clean</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

在父模块parent种设置版本号,使用占位符${revision}引用版本号

    <modelVersion>4.0.0</modelVersion>
    <groupId>com.xxx</groupId>
    <artifactId>xxx-parent</artifactId>
    <version>${revision}</version>
    <packaging>pom</packaging>
    <properties>
        <maven.compiler.source>8</maven.compiler.source>
        <maven.compiler.target>8</maven.compiler.target>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <revision>1.0.1.RELEASE</revision>
    </properties>

子模块中同样使用占位符引用版本号,根据模块层级调整relativePath路径

  <modelVersion>4.0.0</modelVersion>
  <parent>
	<groupId>com.xxx</groupId>
	<artifactId>xxx-parent</artifactId>
	<version>${revision}</version>
	<relativePath>../pom.xml</relativePath>
  </parent>
  <artifactId>hit-portal-gateway</artifactId>
  <packaging>jar</packaging>
  <name>hit-portal-gateway</name>

参考文章
https://www.cnblogs.com/cjsblog/p/17879729.html

标签:插件,plugin,版本号,xxx,maven,flatten,模块
From: https://www.cnblogs.com/saw-/p/18395405

相关文章

  • 《第三十五章 高级主题 - 插件化开发》
    在Android开发中,随着应用规模的不断扩大和功能的日益复杂,插件化开发逐渐成为一种重要的技术手段。插件化开发能够实现应用功能的动态扩展和模块的独立更新,提高开发效率和应用的灵活性。本章将深入探讨插件化开发的原理以及简单插件化的实现方法。一、插件化开发简介插......
  • 开发一个直播插件,生成AI主播带货!
    在当今的数字时代,直播带货已成为电商领域的一大热门趋势,随着人工智能技术的不断发展,生成AI主播带货的想法正逐渐变为现实。本文将带您了解如何开发一个直播插件,并生成一个能够自主带货的AI主播,我们将通过分享七段源代码,来逐步揭示这一过程的技术实现。1、直播环境设置(使用Flask框......
  • 【Python插件入门】第10篇(完结篇):插件常用工具类分享
    【Python插件入门】第10篇(完结篇):插件常用工具类分享原创金蝶云·星空-BOS平台金蝶云·星空-基础架构金蝶云·星空-学习笔记金蝶云·星空-协同开发更多 CQ周玉立已关注149人赞赏了该文章 1.8万次浏览 未经作者许可,禁止转载编辑于2022年08月22日09:......
  • Python插件入门】第3篇-插件中如何进行数据操作
    Python插件入门】第3篇-插件中如何进行数据操作原创金蝶云·星空-BOS平台金蝶云·星空-基础架构金蝶云·星空-学习笔记金蝶云·星空-协同开发更多 CQ周玉立已关注286人赞赏了该文章 3.2万次浏览 未经作者许可,禁止转载编辑于2022年09月02日10:58:02......
  • 【Python插件入门】第4篇:单据表单插件
    【Python插件入门】第4篇:单据表单插件原创金蝶云·星空-BOS平台金蝶云·星空-基础架构金蝶云·星空-学习笔记金蝶云·星空-协同开发更多 CQ周玉立已关注247人赞赏了该文章 3.4万次浏览 未经作者许可,禁止转载编辑于2022年09月07日15:00:34摘要由A......
  • 【Python插件入门】第5篇:单据列表插件
    【Python插件入门】第5篇:单据列表插件原创金蝶云·星空-BOS平台金蝶云·星空-基础架构金蝶云·星空-学习笔记金蝶云·星空-协同开发更多 CQ周玉立已关注210人赞赏了该文章 2万次浏览 未经作者许可,禁止转载编辑于2022年08月17日10:37:48摘要由AI......
  • Maven依赖管理项目构建工具的安装与配置
    一、Maven简介1、为什么学习Maven1.1、Maven是一个依赖管理工具①jar包的规模随着我们使用越来越多的框架,或者框架封装程度越来越高,项目中使用的jar包也越来越多。项目中,一个模块里面用到上百个jar包是非常正常的。比如下面的例子,我们只用到SpringBoot、SpringCloud框架中的三个......
  • 基于IDEA创建Maven工程及注意事项
    Java全能学习+面试指南:https://javaxiaobear.cn1.概念梳理Maven工程的GAVPMaven工程相对之前的项目,多出一组gavp属性,gav需要我们在创建项目的时候指定,p有默认值,我们先行了解下这组属性的含义:Maven中的GAVP是指GroupId、ArtifactId、Version、Packaging等四个属性的缩写,其中前......
  • 基于IDEA进行Maven工程构建
    Java全能学习+面试指南:https://javaxiaobear.cn1.构建概念和构建过程项目构建是指将源代码、依赖库和资源文件等转换成可执行或可部署的应用程序的过程,在这个过程中包括编译源代码、链接依赖库、打包和部署等多个步骤。项目构建是软件开发过程中至关重要的一部分,它能够大大提高软......
  • 插件机制与开发
    插件实现流程在开始编写DzzOffice插件之前,您应当首先对插件开发流程有一个大致的了解。以下是推荐的插件开发流程:在熟练掌握DzzOffice系统的基础上,对希望完善或补充的个性化功能进行评估,进而提出插件的功能需求。对插件进行概要设计,如:需使用哪些菜单、参数,配置哪些选项、数......