首页 > 其他分享 >maven多模块版本统一管理

maven多模块版本统一管理

时间:2023-10-09 21:24:18浏览次数:38  
标签:project 模块 maven 版本 org Maven revision

maven多模块版本统一管理

结构:

  • 父模块

    • 子1模块

      • 依赖子2模块
    • 子2模块

父模块定义

<project>
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.1.4.RELEASE</version>
        <relativePath/>
    </parent>

    <groupId>org.project.maven</groupId>
    <artifactId>project-parent</artifactId>
    <version>${revision}</version>
    <packaging>pom</packaging>

    <properties>
        <!-- 全局版本控制,如果要修改版本号,修改此处即可-->
        <revision>1.0.0-SNAPSHOT</revision>
    </properties>
</project>

关键点:

  1. 不可混合使用{revision}和明确字符串版本号,若出现父子模块版本号混合使用{revision}和明确字符串形式如1.0.0.-SNAPSHOT,在mvn package会出现类似如下错误:
  2. 只能命名成revision​​,不可以更改成其他命名;在Maven的POM文件中,使用<version>​元素来定义版本号,其中的变量部分可以使用Maven属性(property)进行定义。根据Maven的约定,这个属性名称应该为revision

子1模块定义

<project>
    <modelVersion>3.0.0</modelVersion>
    <parent>
        <groupId>org.project.maven</groupId>
        <artifactId>project-parent</artifactId>
        <version>${revision}</version>
    </parent>

    <artifactId>project-child1</artifactId>
    <packaging>jar</packaging>
  
    <dependencies>
        <dependency>
            <groupId>org.project.maven</groupId>
            <artifactId>child2</artifactId>
			<!-- 填写对于子2模块的依赖,需要用到porject.version -->
            <version>${project.version}</version>
      </dependency>
  </dependencies>


参考:

标签:project,模块,maven,版本,org,Maven,revision
From: https://www.cnblogs.com/yozar/p/maven-multi-module-version-unified-management-gt59r.html

相关文章

  • python库多版本共存
    安装多版本selenium在Python中处理包的多个版本|作者:跳过|中等(medium.com)如何在一个python文件用两个不同版本的库_python有两个库,怎么在代码中选择用哪个库-CSDN博客安装3.14.0版本pipinstallselenium==3.14.0--target=C:\selenium\3.14.0安装4.12.0版本pip......
  • 用Artifactory管理内部Maven仓库
    1.介绍Maven是Java开发者中流行的构建工具,Maven的好处之一是可以帮助减少构建应用程序时所依赖的软件构件的副本,Maven建议的方法是将所有软件构件存储于一个叫做repository的远程仓库中。Maven会从ibiblio.org中的公用仓库中同步构件,这个公用仓库下载缓慢、不稳定,并且......
  • 在Eclipse中使用Maven 2.x指南
    1.Maven2RepositoryEclipse需要知道Maven的本地仓库的路径。所以,类路径变量M2_REPO必须设置。执行以下命令:mvn-Declipse.workspace=<path-to-eclipse-workspace>eclipse:add-maven-repo 你也可以在eclipse内定义一个新的classpath变量:从菜单条,选择Window>Preferences,选择jav......
  • client-go实战之六:时隔两年,刷新版本继续实战
    欢迎访问我的GitHub这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos时隔两年,《client-go实战》被激活,更多内容将会继续更新时间过得真快,《client-go实战》系列已是两年前的作品,近期工作中再次用到client-go时,突然发现自己原创的内容远达不......
  • (allure报告定制)动态显示模块名和用例标题
    场景:当自动化测试使用excel测试用例驱动时,动态显示模块名和用例标题就很有用。https://blog.csdn.net/lixiaomei0623/article/details/120273737一、allure报告动态参数化展示模块名和用例标题使用@pytest.mark.parametrize参数化完成数据驱动时,如果标题写死或者使用别名的方......
  • Java11配置maven
    这里假设Java11和maven都正确安装,使用的版本为Java11、maven3.6.1测试环境变量Javawin+r打开运行,输入cmd,打开命令行提示符,输入java--version如下C:\Users\siyu>java--versionopenjdk11.0.22019-01-15OpenJDKRuntimeEnvironment18.9(build11.0.2+9)OpenJDK64-......
  • BOSHIDA DC电源模块在电容滤波器上的设计
    BOSHIDADC电源模块在电容滤波器上的设计DC电源模块在电容滤波器上的设计是电源管理系统中非常重要的一部分,其目的是为了确保电源输出电压的稳定性和纹波尽可能小。在设计中,需要考虑到电源负载的变化和变压器等电源配件的电磁干扰等因素。下面我们详细介绍一下电容滤波器设计中的......
  • git版本管理
    ......
  • linux 内核五大模块:网络通信
    网络通信网络通信是一种把不同计算机或网络设备连接到一起的技术,本质上是跨系统的进程间通信,必须要通过网络(硬件)才能进行。随着高并发、分布式、云计算、微服务等技术的普及,网络的性能也变得越来越重要。一、网络模型1.1OSI模型为了解决网络互联中异构设备的兼容性问题,并解......
  • SQL Server 的版本号大全
    SQLServer的版本号大全参考官方网站如下:https://docs.microsoft.com/zh-cn/troubleshoot/sql/general/determine-version-edition-update-level SQLServer产品版本号和SQLServer产品名称对应关系如下简表 版本模式SQL产品15.0.x.xSQLServer201914.0.x.xSQLServer20171......