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>
关键点:
- 不可混合使用{revision}和明确字符串版本号,若出现父子模块版本号混合使用{revision}和明确字符串形式如1.0.0.-SNAPSHOT,在mvn package会出现类似如下错误:
- 只能命名成
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