Maven學習筆記(二) 傳遞依賴

2021-09-13 15:28:50 字數 963 閱讀 7293

現有乙個問題,a===>b===>c,a依賴於b,b依賴於c,那a依不依賴於c?

來看例項:

a依賴於b,b依賴於junit

a的pom.xml

>

>

>

com.feigroupid

>

>

bartifactid

>

>

1.0version

>

dependency

>

>

b的pom.xml

>

>

>

junitgroupid

>

>

junitartifactid

>

>

4.12version

>

>

testscope

>

dependency

>

>

此時看a專案的依賴庫裡面並沒有junit4.12的jar包

接著繼續來看:

將b專案的pom.xml做一下改動 (

刪除了scope範圍的約束)

>

>

>

junitgroupid

>

>

junitartifactid

>

>

4.12version

>

dependency

>

>

這時再看a專案的依賴庫裡面就有了junit4.12的jar包

結論:a===>b===>c,a依賴於b,b依賴於c,要想a依賴於c則必須b對c的依賴的scope約束範圍是compile

maven 傳遞依賴 衝突解決

依賴是會被傳遞 a c b a b c 這種依賴是基於compile這個範圍進行傳遞 在dependency配置中如果沒有寫scope預設就是compile範圍,依賴的傳遞主要是針對compile作用域 依賴的範圍 test範圍指的是測試範圍有效,在編譯和打包時都不會使用這個依賴 compile範圍...

Maven依賴排除 禁止依賴傳遞 取消依賴的方法

1.專案間傳遞 如果我的當前專案是project1,project1要依賴project2,project1依賴project2的配置中加上 true,表示依賴可選,com.projecctgroupid project2artifactid 1.0version compilescope true...

Maven依賴排除 禁止依賴傳遞 取消依賴的方法

1.專案間傳遞 如果我的當前專案是project1,project1要依賴project2,project1依賴project2的配置中加上 true,表示依賴可選,com.projecctgroupid project2artifactid 1.0version compilescope true...