什么是Maven聚合工程,Maven聚合工程的应用

本文介绍了Maven聚合工程的概念,如何通过创建父项目管理和子模块依赖,实现模块化开发的便捷打包与部署。重点讲解了如何配置聚合、依赖管理和实际操作步骤,包括创建父工程及子项目,以及最终的项目结构和打包过程。
摘要由CSDN通过智能技术生成

什么是Maven聚合工程?

把项目的各个模块(子工程)聚合在一起构建。一般用于分模块开发,最后整体打包发布,聚合项目一定是父子工程,而父子工程不一定是聚合工程。

为什么要使用聚合?

将多个工程拆分为模块后,需要手动逐个安装到仓库后依赖才能够生效。修改源码后也需要逐个手动进行 clean 操作。而使用了聚合之后就可以批量进行 Maven 工程的安装、清理工作。

搭建聚合项目

1、创建父工程 Parent2

在这里插入图片描述
在这里插入图片描述

这次搭建两个子工程,maven_demo7,maven_demo9

<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.gzl.cn</groupId>
	<artifactId>Parent1</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<packaging>pom</packaging>
	
	<!-- 配置聚合 -->
	<modules>
		<module>../maven_demo7</module>
		<module>../maven_demo9</module>
	</modules>
	
	<!-- 配置依赖的管理 -->
	<dependencyManagement>
		<dependencies>
			<dependency>
				<groupId>junit</groupId>
				<artifactId>junit</artifactId>
				<version>4.9</version>
				<scope>test</scope>
			</dependency>
		</dependencies>
	</dependencyManagement>
	
</project>

2、创建子工程maven_demo7

在这里插入图片描述
指定父工程
在这里插入图片描述
在这里插入图片描述

<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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <parent>
    <groupId>com.gzl.cn</groupId>
    <artifactId>Parent2</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <!-- 以当前文件为基准的父工程pom.xml文件的相对路径 -->
	<relativePath>.../Parent2/pom.xml</relativePath>
  </parent>
  
  <artifactId>maven_demo7</artifactId>
  <name>maven_demo7</name>
</project>

3、创建子工程maven_demo9,并且引入maven_demo7

在这里插入图片描述

<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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <parent>
    <groupId>com.gzl.cn</groupId>
    <artifactId>Parent2</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <!-- 以当前文件为基准的父工程pom.xml文件的相对路径 -->
	<relativePath>.../Parent2/pom.xml</relativePath>
  </parent>
  <artifactId>maven_demo9</artifactId>
  <name>maven_demo9</name>
  <description>maven_demo9</description>
  <dependencies>
  	<dependency>
  		<groupId>com.gzl.cn</groupId>
  		<artifactId>maven_demo7</artifactId>
  		<version>0.0.1-SNAPSHOT</version>
  	</dependency>
  </dependencies>
</project>

4、项目最终结构

用的Eclipse的JavaEE视图
在这里插入图片描述

5、打包

对parent2打包,maven install他自己会把子项目安装,这就是聚合的作用,不用一个一个去安装,假如不用聚合的话,我们肯定得先安装maven_demo7,maven_demo9才能用,因为9引入了7。
在这里插入图片描述

Maven聚合核心依赖

父工程当中的。

<modules>
  	<module>maven_demo7</module>
  	<module>maven_demo9</module>
  </modules>

子工程当中的

<!-- 以当前文件为基准的父工程pom.xml文件的相对路径 -->
<relativePath>.../Parent2/pom.xml</relativePath>
  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

怪 咖@

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值