Maven聚合工程
Maven聚合工程
1 Maven聚合工程概念
Maven聚合工程:就是可以在一个maven父工程中创建多个组件(项目),这个多个组件之间可以相互依赖,实现组件的复用。
2.创建Maven聚合工程
2.1创建Maven父工程
Mavenj聚合工程的父工程packing 必须为pom
- 创建一个Maven工程
- 修改父工程的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.sdz</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.sdz</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.sdz</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聚合⼯程依赖继承
3.1 依赖继承
-
在⽗⼯程的pom⽂件添加的依赖,会被⼦⼯程继承
3.2 依赖版本管理
在⽗⼯程的pom.xml的dependencyManagement中添加依赖,表示定义⼦⼯程中此依赖的默认版本(此定义并 不会让⼦⼯程中添加当前依赖,需要在子工程中声明才能引入依赖)
<!-- 依赖管理:在dependencyManagement中添加依赖,表示定义⼦⼯程中此依赖的默认版本 -->
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.6.1</version>
</dependency>
</dependencies>
</dependencyManagement>