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

2021-09-11 08:30:16 字數 1028 閱讀 8335

1. 專案間傳遞

如果我的當前專案是project1,project1要依賴project2,project1依賴project2的配置中加上 true,表示依賴可選,

com.projecctgroupid>

project2artifactid>

1.0version>

compilescope>

trueoptional>

dependency>

那麼以後所有宣告依賴project1的專案如果也依賴project2,就必須寫手動宣告。比如project3依賴project1和project2,如果project3只宣告了對project1的依賴,那麼project2不會自動加入依賴,需要重新宣告對project2的依賴。

這種方式排除不了我專案中對第三方jar包所依賴的其他依賴,因為我不可能去修改第三方jar包的pom檔案,所以只適合在專案組內部使用。

2. 依賴過濾

(1)單依賴過濾

同依賴過濾直接處理:可以過濾乙個或者多個,如果過濾多個要寫多個。這個也解決不了我的問題,或者說解決太麻煩,我那裡知道hbase要依賴那些包,記不住。

org.apache.hbasegroupid>

hbaseartifactid>

0.94.17version>

commons-logginggroupid>

commons-loggingartifactid>

exclusion>

exclusions>

dependency>

(2)多依賴過濾

把所以依賴都過濾了。手起刀落~啊,世界都安靜了。

org.apache.hbasegroupid>

hbaseartifactid>

0.94.17version>

*groupid>

*artifactid>

exclusion>

exclusions>

dependency>

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

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

maven 傳遞依賴 衝突解決

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

maven實戰 09 排除依賴

傳遞性依賴會給專案隱式地引入很多依賴有些時候這種特性也會帶來問題。例如,當前專案有乙個第三方依賴,而這個第三方依賴由於某些原因依賴了另外乙個類庫的snapshot版本,那麼這個snapshot就會成為當前專案的傳遞性依賴,而snapshot的不穩定會直接影響到當前的專案。這時候就需要排除掉該snap...