1.Maven聚合⼯程概念
Maven
聚合⼯程:就是可以在⼀个
Maven
⽗⼯程中创建多个组件
(
项⽬
)
,这个多个组件之间可以相互依赖,实现组件的复⽤

2. 创建Maven聚合工程
2.1 创建Maven父工程
Maven
聚合⼯程的⽗⼯程
packing
必须为
pom
2.1.1 创建一个Maven工程
2.2.2 修改⽗⼯程的pom.xml,设置打包⽅式为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">
<modelVersion>4.0.0</modelVersion>
<groupId>com.qfedu</groupId>
<artifactId>maven-parent</artifactId>
<version>1.0.0</version>
<packaging>pom</packaging>
<properties>
<maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
</properties>
</project>
父工程用于管理子工程,不进行业务实现,因此src目录可以选择性删除
2.2 创建Module
选择父工程--右键--New--Module
输入子工程名称(g和v都从父工程继承)
子工程的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">
<!--module的pom继承 父工程的pom-->
<parent>
<artifactId>maven-parent</artifactId>
<groupId>com.qfedu</groupId>
<version>1.0.0</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>common</artifactId>
<properties>
<maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
</properties>
</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">
<modelVersion>4.0.0</modelVersion>
<groupId>com.qfedu</groupId>
<artifactId>maven-parent</artifactId>
<version>1.0.0</version>
<!--声明当前父工程的子module-->
<modules>
<module>common</module>
</modules>
<packaging>pom</packaging>
<properties>
<maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
</properties>
</project>
3. Maven聚合工程依赖继承
在⽗⼯程的
pom
⽂件添加的依赖,会被⼦⼯程继承

3.2 依赖版本的管理
在⽗⼯程的
pom.xml
的
dependencyManagement
中添加依赖,表示定义⼦⼯程中此依赖的默认版本(此定义并 不会让⼦⼯程中添加当前依赖)
<!-- 依赖管理:在dependencyManagement中添加依赖,表示定义⼦⼯程中此依赖的默认版本 -->
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.8.5</version>
</dependency>
</dependencies>
</dependencyManagement>
在springboot中添加依赖
要在pom.xml文件中的dependencyManagement标签中
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.8.5</version>
</dependency>
</dependencies>
</dependencyManagement>
在父工程中进行了默认版本声明之后,子工程中不会有这个依赖,子工程想要用,必须自己加