maven的依赖

1、所有的依赖都是通过坐标来进行存储的(GAV-->groupId、artifactId、version)
2、有一些网上的仓库提供了坐标的查询(http://mvnrepository.com
3、通过<dependencies>设置依赖

<dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>

4、maven是如何搜索依赖的?首先会在本地仓库查询如果本地仓库没有,就去中央仓库查询

 

5、依赖的传递性

 

依赖是会被传递
 A-->C  B-->A ==> B-->C(这种依赖是基于compile这个范围进行传递)



 对于依赖的传递而言,主要是针对compile作用域传递

 

6、传递的冲突问题

 

a-->b1.0  c-->b1.1  d-->a和c,这个时候在d的pom中,哪一个依赖先写就使用先写依赖的版本
如果d--><d>a</d><d>c</d>-->依赖版本是b1.0


a-->b1.0 c-->b1.1 d-->a和c-->b1.0  f-->d,c,如果路径的长短不一致就选择最小路径
    f-->b1.1

 

如果希望精确的控制依赖包,可以使用依赖的排除功能进行控制


 

 7、依赖的范围

 

test范围指的是测试范围有效,在编译和打包时都不会使用这个依赖


compile范围指的是编译范围有效,在编译和打包时都会将依赖存储进去


provided依赖:在编译和测试的过程有效,最后生成war包时不会加入,诸如:servlet-api,因为servlet-api,tomcat等web服务器已经存在了,如果再打包会冲突


runtime在运行的时候依赖,在编译的时候不依赖


默认的依赖范围是compile

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值