Maven學(xué)習(xí)(15)- Maven依賴的傳遞性
在Maven學(xué)習(xí)的過(guò)程中,我們需要了解和掌握Maven中依賴的傳遞性。本文將通過(guò)一個(gè)實(shí)驗(yàn)來(lái)說(shuō)明Maven中依賴的傳遞性。 實(shí)驗(yàn)背景: 我們有兩個(gè)Maven項(xiàng)目,分別是Hello和HelloFrie
在Maven學(xué)習(xí)的過(guò)程中,我們需要了解和掌握Maven中依賴的傳遞性。本文將通過(guò)一個(gè)實(shí)驗(yàn)來(lái)說(shuō)明Maven中依賴的傳遞性。
實(shí)驗(yàn)背景:
我們有兩個(gè)Maven項(xiàng)目,分別是Hello和HelloFriend。其中,HelloFriend項(xiàng)目依賴于Hello項(xiàng)目。
我們打開(kāi)HelloFriend項(xiàng)目的pom.xml文件,可以看到HelloFriend項(xiàng)目在這里依賴Hello項(xiàng)目。
接下來(lái),在Hello項(xiàng)目的pom.xml文件中添加了一個(gè)包的依賴。
可以看出,Hello項(xiàng)目中加入了spring-core包的依賴。然后,在HelloFriend項(xiàng)目中也加入了這個(gè)包。
再次查看HelloFriend項(xiàng)目的pom.xml文件,并沒(méi)有添加spring-core包的依賴,這表明該包的添加是因?yàn)橐蕾嘓ello項(xiàng)目所以傳遞過(guò)來(lái)的。
接下來(lái),在HelloFriend項(xiàng)目中點(diǎn)擊pom.xml文件,然后選擇【Dependency Hierarchy】,可以看到箭頭1指示位置的依賴表示直接依賴,而箭頭2及以下位置的依賴表示傳遞依賴。
需要說(shuō)明的是,只有范圍為compile的包才能夠進(jìn)行傳遞。
總結(jié):
Maven中的依賴可以通過(guò)配置pom.xml文件實(shí)現(xiàn)傳遞性。當(dāng)一個(gè)項(xiàng)目依賴于另一個(gè)項(xiàng)目時(shí),如果被依賴的項(xiàng)目中有其他依賴,那么這些依賴也會(huì)傳遞給依賴者。
相關(guān)閱讀: