Maven工程继承和聚合关系
2025/9/17大约 2 分钟
Maven工程继承和聚合关系
继承聚合1. Maven工程继承关系
1.1 继承概念
Maven继承是指让一个项目从另一个项目中继承配置信息的机制,便于统一管理依赖和插件。
1.2 继承作用
- 父工程统一管理依赖信息,子工程无需重复配置
- 统一版本,减少维护成本
它的背景是:
○ 对一个比较大型的项目进行了模块拆分。
○ 一个 project 下面,创建了很多个 module。
○ 每一个 module 都需要配置自己的依赖信息。
1.3 继承语法
父工程
<groupId>com.atguigu.maven</groupId>
<artifactId>pro03-maven-parent</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>pom</packaging> <!-- 父工程打包方式为pom -->
子工程(无条件继承父的依赖)
<parent>
<groupId>com.atguigu.maven</groupId>
<artifactId>pro03-maven-parent</artifactId>
<version>1.0-SNAPSHOT</version>
</parent>
<artifactId>pro04-maven-module</artifactId>
1.4 父工程依赖统一管理
父工程依赖统一管理 (让子工程考可以选择继承那些依赖)
dependencyManagement统一依赖版本
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>6.0.10</version>
</dependency>
<!-- 其他依赖 -->
</dependencies>
</dependencyManagement>
子工程引用父依赖
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<!-- 版本号省略,由父工程决定 -->
</dependency>
</dependencies>
2. Maven工程聚合关系
2.1 聚合概念
Maven聚合是指将多个项目组织到一个父级项目中,以便一起构建和管理。
2.2 聚合作用
- 管理多个子项目,统一构建和发布
- 优化构建顺序,统一依赖和插件
2.3 聚合语法
<project>
<groupId>com.example</groupId>
<artifactId>parent-project</artifactId>
<packaging>pom</packaging>
<version>1.0.0</version>
<modules>
<module>child-project1</module>
<module>child-project2</module>
</modules>
</project>
小结
Maven继承和聚合机制让大型项目的依赖、插件、构建管理变得高效、统一,是企业级开发的基础能力。