Maven dependency 详解

  • groupId、artifactId和version:基本坐标
  • type:依赖的类型,对应项目坐标定义的packaging
  • scope依赖的范围
  • optional标记依赖是否可选(不推荐)
  • exclusions,用来排除传递性依赖

 

依赖范围

  • compile 编译依赖范围,默认使用该范围,对于编译、测试、运行三宗classpath都有效。
  • test 测试依赖范围,只对测试classpath有效
  • provided 已体提供依赖范围。对于编译和测试classpath有效,运行时无效
  • runtime 运行时依赖范围。对于测试和运行的claspath有效,编译无效
  • system 系统依赖范围。和provided依赖范围完全一致。使用system范围的依赖,不许通过systemPath元素显示地制定依赖文件的路径。
  • import 导入依赖范围。不会对三种classpath产生实际的影响。

 

传递性依赖

依赖调解

  • 路径最近者优先
  • 路径长度一致,POM中依赖声明的顺序靠前的被使用。

 

可选依赖,不会被传递

 

排除依赖 exclusions

<exclusions><exclusion> 坐标 </exclusion></exclusions>

归类依赖

<properties>

<springframework.version>2.5.6</springframework.version>

</properties>

使用: ${springframework.version}

优化依赖

  • mvn dependency:list 列出当前已解析依赖
  • mvn dependency:tree 列出依赖树
  • mvn dependency:analyze 分析当前项目的依赖

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值