可傳遞的依賴:
1.具體調用哪個版本?最短依賴長度的那個
如:A -> B -> C -> D 2.0 , A -> E -> D 1.0,那么調用D 1.0
為了避免這種情況,可以直接定義 A -> D 2.0,也就是說,自己顯式定義的那個依賴總是先調用,無論版本高低
2.如果不聲明版本?會默認最新版
3.排除某個依賴,如 A -> B -> C,A可以顯式排除對 C 的依賴
<dependency> <groupId>group-a</groupId> <artifactId>artifact-a</artifactId> <version>1.0</version> <exclusions> <exclusion> <groupId>group-c</groupId> <artifactId>excluded-artifact</artifactId> </exclusion> </exclusions> </dependency>
4.可選依賴,如 B -> C,但聲明為可選,在 A –> B 的時候就不會再依賴 C ,相當于被默認排除
當然也可以顯式添加對 C 的依賴,二者毫無關系
5.依賴的作用范圍 scope:
<dependencies> <dependency> <groupId>sun.jdk</groupId> <artifactId>tools</artifactId> <version>1.5.0</version> <scope>system</scope> <systemPath>${java.home}/../lib/tools.jar</systemPath>自己指定 </dependency> </dependencies>新聞熱點
疑難解答