maven白小白(四)依赖^_*

目录

一、继承和聚合

二、依赖的范围

三、依赖的配置


既然maven可以对项目进行打包,安装到本地maven仓库,也可以部署到远程仓库,那也就一样可以相互引用,有了引用关系,引用多了,那么引用和引用之间,有了相关性。

A依赖于B,B依赖于C,那么A也依赖于C

一、继承和聚合

这不就是中学的传递性吗?这是同级间的,如果是继承的关系呢?父亲引用了依赖,儿子是不是也就有了? 没错。

这些就是依赖的特性。

单如果父类需要使用子类的所有程序,不能一个一个打包,可以把你累个半死,不累也烦“si”你,这个时候用聚合工程就可以了,就像这样,儿子会在父亲的pom文件中,父亲也会再儿子的pom文件中,父亲引入的依赖儿子都会有,在对父亲进行打包部署的时候,儿子也都可以打包部署。

PS:有没有对继承和聚合有点迷糊?

maven中的继承和聚合的关系:
两者的目的是不一样的,聚合的目的是能够快速的构建项目,继承的目的是减少重复配置。
聚合:
定义一个聚合模块,然后在pom文件中添加<module></module>标签,其中的内容是模块相对于当前模块的路径。那么在构建聚合模块的时候,在<module>中定义的模块也会跟着构建,不用逐个构建,因此加快了构建速度。
继承:
除了定义一个父模块,在父模块的pom文件中添加<module>标签,还要在子模块pom文件中添加<parent>标签,指向父模块。指向之后,那么在父模块中定义的插件和依赖都可以被子模块继承,就不用再子模块pom文件中重复配置了(减少了重复配置)。
注:无论是聚合还是继承,父模块的pom文件中的<packageing>的内容都是pom,(这是乌龟的屁股,规定)。如果不写的话,默认的都是 jar。
 

二、依赖的范围

程序编程好后到构建成功这个过程全部由maven包管,在maven的不同生命周期阶段,对依赖的需要也就有不同,也就有了依赖的运行范围。

三、依赖的配置

 除了依赖的运行范围,还有依赖中的有些依赖我不全用,可不可以去掉不需要的?

答案是当然可以,配置一下就可以。

咋配置,看图:pom文件中对引入依赖的属性的配置

等一下,说到了pom文件的依赖,没有想起在父类的依赖中总有一个标签<dependencyManagement>

啰嗦一下:

<dependencyManagement>的作用
在父模块定义了很多依赖,但是某一个模块并没有全部用到,那么子模块还是会全部继承过来。比较浪费。
所以可以使用依赖管理标签<dependencyManagement>
在父模块的pom文件中的<dependencyManagement></dependencyManagement>定义了所有需要依赖的jar包,但是这样子模块并不会引入这些jar包。子模块中需要哪些jar包就在自身pom文件的<dependency>标签中引入就可以了,因为父模块的pom文件中已经定义过了,子模块的pom文件只需定义出<groupId>和<artifactId>就可以了。

如果表示没太明白:在看一下,

如果还觉得没有抓手:

 

 好了好了,终于啰嗦完了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

邢美玲

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

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

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

打赏作者

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

抵扣说明:

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

余额充值