这篇文章主要为大家详细介绍了Maven的继承和聚合以及二者的区别,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
一、继承
我们已经完成了使用聚合工程去管理项目,聚合工程进行某一个构建操作,其他被其管理的项目也会 执行相同的构建操作。那么接下来,我们再来分析下,多模块开发存在的另外一个问题,重复配置的问题,我们先来看张图:
■ spring-webmvc、spring-jdbc在三个项目模块中都有出现,这样就出现了重复的内容
■ spring-test只在ssm_crm和ssm_goods中出现,而在ssm_order中没有,这里是部分重复的内容
■ 我们使用的spring版本目前是5.2.10.RELEASE ,假如后期要想升级spring版本,所有跟Spring相关jar包都得被修改,涉及到的项目越多,维护成本越高
继承概念
继承描述的是两个工程间的关系,与java中的继承相似,子工程可以继承父工程中的配置信息,常用于依赖关系的继承
作用
- 简化配置
- 减少版本冲突
二、继承关系实施步骤
1、创建Maven模块,设置打包类型为pom
<packageing>pom<packageing>
注意事项:建议父工程打包方式设置为pom
2、在父工程的pom文件中配置依赖关系(子工程将沿用父工程中的依赖关系)
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>5.2.10.RELEASE</version>
</dependency>
...
</dependencies>
3、在配置子工程中可选的依赖关系
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.1.16</version>
</dependency>
...
</dependencies>
</dependencyManagement>
4、在子工程中配置当前工程所继承的父工程
<!--配置该工程的父工程-->
<parent>
<groupId>com.itheima</groupId>
<artifactId>maven_01_parent</artifactId>
<version>1.0-RELEASE</version>
<!--填写父工程的pom文件-->
<relativePath>../maven_01_parent/pom.xml</relativePath>
</parent>
5、在子工程中配置使用父工程中可选依赖的坐标
<dependencies>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
</dependency>
</dependencies>
注意事项:
子工程中使用父工程中的可选依赖时,仅需要提供群组id和项目id,无需提供版本,版本由父工程统一提供,避免版本冲突,子工程中还可以定义父工程中没有定义的依赖关系。
三、聚合与继承的区别
作用
聚合用于快速构建项目
继承用于快速配置
相同点
聚合与继承的pom.xml文件打包方式为pom,可以将两种关系制作到同一个pom文件中
聚合与继承均属于设计型模块,并无实际的模块内容
不同点
聚合是在当前模块中配置关系,聚合可以感知到参与聚合的模块有哪些
继承是在子模块中配置关系,父模块无法感知哪些子模块继承了自己
以上就是一文带你搞懂Maven的继承与聚合的详细内容,更多关于Maven继承 聚合的资料请关注编程学习网其它相关文章!
本文标题为:一文带你搞懂Maven的继承与聚合
- Spring Security权限想要细化到按钮实现示例 2023-03-07
- ExecutorService Callable Future多线程返回结果原理解析 2023-06-01
- SpringBoot使用thymeleaf实现一个前端表格方法详解 2023-06-06
- Java实现顺序表的操作详解 2023-05-19
- Java中的日期时间处理及格式化处理 2023-04-18
- 基于Java Agent的premain方式实现方法耗时监控问题 2023-06-17
- JSP页面间传值问题实例简析 2023-08-03
- JSP 制作验证码的实例详解 2023-07-30
- 深入了解Spring的事务传播机制 2023-06-02
- Springboot整合minio实现文件服务的教程详解 2022-12-03