Maven进阶学习-低级到初级

有关Maven的配置和创建—>Maven初体验-配置和使用

上篇博客写到了Maven的使用和配置以及在eclipse中的创建Maven项目,接下来学习一下Maven的其他知识点.

1.使用Maven来管理jar包.

  • Maven可以更加方便的管理jar包,从而减轻我们导包的重复和内存占用.
  • 打开pom.xml文件进行jar包的管理:
    在这里插入图片描述

2.Maven中依赖的传递性.

  • 使用场景:当项目A依赖于B,B又依赖于C,此时A依赖于C
  • 我创建了一个Maven项目名字为Maven001,我还有另外一个Maven项目MavenDay02-01,此时通过pom.xml来实现Maven001依赖于MavenDay02-01,所以使用三大坐标.
    在这里插入图片描述
  • 依赖的传递原则:
    1.就近原则
    依赖的传递过程中,存在重复jar包,依赖路径短的优先
    2.先声明者优先
    依赖的传递过程中,路径相同时,先声明者优先
  • 依赖的排除:
    1.场景:
    当A依赖于B,但此时B中的一些jar包和A的存在冲突,此时就需要排除B中相关依赖
    2.注意事项:
    排除依赖时,一定要在依赖的过程中排除,exclusions标签要在dependency标签中使用,排除依赖时,只需要指定组织id和artifact id即可
    在这里插入图片描述

3.Maven中统一jar包版本.

  • 场景:我们以后可能会面对多人开发,多个小组开发多个模块,此时就需要统一一些版本,这样方便后期的维护和修改.比如我们使用的spring会有相对于的配套jar包版本,如果当我们spring版本变化,那这个配套jar包对应的也要改变,所以后期很麻烦,所以我们使用标签来自定义属性,这样通过一个变量来替代那些版本号,以后只需要修改那个变量就可以替换所有的版本号.
  • 使用步骤:
    在这里插入图片描述

4.Maven中Scope属性.

  • 应用场景:当我们导入单元测试的jar包时会发现其多了一个属性:
    在这里插入图片描述
  • 关于Maven中,scope有五个属性
属性名称作用
compile缺省值,适用于所有阶段,会随着项目一起发布
provided类似compile,期望JDK、容器或使用者会提供这个依赖。如servlet.jar
runtime只在运行时使用,如JDBC驱动,适用运行和测试阶段
test只在测试时使用,用于编译和运行测试代码。不会随项目发布。
system类似provided,需要显式提供包含依赖的jar,Maven不会在Repository中查找它。
  • 重点了解的三个和其运行范围:
范围complietestprovided
主程序
测试程序
参与部署

5.Maven中常见的操作.

名称作用
compile编译
install安装
clean清理
test测试
package打包
  • 使用截图:
    1.有关编译的,右击Maven项目—>Run As—>Maven Build
    在这里插入图片描述

6.Maven中的继承.

  • 使用场景:如果我们需要使用单元测试,但当项目多个模块同时开发,我们每个模块的单元测试版本可能都不一样,所以这里需要使用统一的junit版本,但上面说道,scope为测试的无法继承,所以这里需要使用到父工程.
  • 创建父工程:
    在这里插入图片描述
  • 在父工程里面引入jar包,然后创建子工程son01继承
    在这里插入图片描述
  • 这样son01就可以导入Father中依赖的单元测试的jar包l.

7.Maven中的聚合.

  • 应用场景:如果一个工程下存在多个模块,在安装部署应用时需要对模块逐一进行安装部署,使用聚合方式,可以实现一次性打包.
  • 注意事项:无论是继承之后安装子工程,聚合之后使用父工程打包部署子模块,先安装部署父工程到本地仓库中
  • 具体步骤:
    在这里插入图片描述

虚心学习,一起进步

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值