Day15-02.maven高级-继承与聚合-继承关系实现

Day15-02.maven高级-继承与聚合-继承关系实现

(1)继承

刚才在做案例项目的多模块拆分的时候,可以看到我们所拆分的三个模块无论是poji还是urils或者web-management,都引入了lombok的依赖,重复配置了多次。如果是在一个大型的项目中,三个模块重复的依赖可能非常非常多,如果每一个maven模块里面我们都单独配置一次,功能虽然能实现,但是配置比较繁琐,maven的继承就是用来解决这个问题的。

使用maven的继承怎么解决这个问题呢?

创建一个父工程tlias-parent,然后让那三个模块都来继承这个parent父工程,这三个就成为子工程。此时各个子工程中共有的依赖就可以定义在父工程中,只要子工程继承了父工程,这个依赖也会继承下来,就不用我们在子工程中一个一个配置了。所以maven当中的继承是用来描述两个工程之间的关系的,与Java当中的继承类似,子工程可以直接父工程的配置信息,这里说的配置信息,经常值的就是依赖的配置信息。

(2)常见的打包方式

1、jar:普通模块打包,springboot项目基本都是jar包(内嵌tomcat运行)

解释:像我们创建的普通的模块,比如pojo,utils,这类模块的打包方式都是jar包。其他项目要想使用我们当前模块,直接引入对应的坐标就可以了。除了这些普通的模块以外,在现在的springboot项目开发中,基本上打包方式也都是jar包,因为在springboot中内嵌了tomcat这样的web服务器,将项目达成一个jar包后,我们通过java -jar这条指令就可以直接启动springboot项目。springboot 项目是运行在内嵌的tomcat服务器当中的。

2、war:普通web程序打包,需要部署在外部的tomcat服务器中运行

解释:像我们早起基于servlet技术开发的web程序,以及基于原始的springMvc所开发的web应用程序,打包方式都是war包。打成一个war包之后,没法通过java指令直接执行,它必须要部署在外部的tomcat服务器中才可以运行。现在的web程序开发我们基本都是基于springboot进行开发的,所以war包比较少见了。

3、pom:父工程或聚合工程,该模块不写代码,仅进行依赖管理

解释:这种打包方式常见于我们继承关系中的父工程,或者是后面马上讲到的聚合工程。一旦将打包方式设置为pom,就代表当前模块不会写任何的Java代码,只进行依赖管理。

(3)继承关系实现

1、创建爱你maven模块tlias-parent,该工程为负公差,设置打包方式为pom(默认jar)

2、在子工程的pom.xml文件中,配置继承关系

3、在父工程配置各个工程共有的依赖(子工程会自动继承父工程的依赖)

Snipaste_2024-07-01_10-13-03

(4)总结

Snipaste_2024-07-01_10-15-49

image-20240703003230227
image-20240703003248089

  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值