赞
踩
1. 首先就maven的依赖传递来说:只有<scope>compile</scope>时,才能进行依赖的传递,其他的范围没有依赖传递可言!!!
2. 当依赖级别相同时,先写哪个依赖,就用哪个依赖。
当依赖级别不同时,本依赖就用级别层次最短的那个依赖。
3. 依赖的传递性就拿commons-logging来举一个例子吧:
A---->dbunit---->commons-logging1.0.4
B---->dbunit---->commons-logging1.1.1
C---->A
C---->B
问题:A依赖dbunit,dbunit依赖commons-logging1.0.4 。B依赖dbunit,dbunit依赖commons-logging1.1.1,C依赖A,C依赖B,那此时C到底使用commons-logging1.0.4这个还是commons-logging1.1.1???
分析:当依赖级别相同时,先写哪个依赖,就用哪个依赖。
如果在C的pom文件中先写C---->A的话,此时C就用commons-logging1.0.4。
如果在C的pom文件中先写C---->B的话,此时C就用commons-logging1.1.1。
A---->dbunit---->commons-logging1.0.4
B---->dbunit---->commons-logging1.1.1
C---->commons-logging1.0.0
问题:此时C所用的是哪个版本的commons-logging呢?
分析:当依赖级别不同时,本依赖就用级别层次最短的那个依赖。
此时C就会依赖commons-logging1.0.0
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。