maven查看依賴樹的方法實(shí)現(xiàn)
1:寫在前面
在工作中,經(jīng)常會(huì)有這樣的場景,因?yàn)槎鄠€(gè)jar包間接引入了同一個(gè)jar包的多個(gè)不同版本,造成版本沖突,進(jìn)而程序出現(xiàn)問題,此時(shí)就需要確定這些依賴到底是通過哪個(gè)jar被引入,而后通過配置exclude解決版本沖突問題,而定位的過程就需要依賴于查看maven的依賴樹,接下來我們就一起看下吧!
2:查看依賴樹
假設(shè)此時(shí)我們的pom如下:
<dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>5.0.6.RELEASE</version> </dependency> <!-- https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api --> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>3.1.0</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.18.6</version> </dependency> </dependencies>
引入的依賴如下圖:
假設(shè) spring-beans:5.0.6
是我們希望剔除的依賴,此時(shí)就可以這么做,執(zhí)行命令 mvn dependency:tree
:
xbdeMacBook-Air:test-idea-mvc xb$ mvn dependency:tree
[INFO] Scanning for projects...
......
[INFO] org.example:test-idea-mvc:war:1.0-SNAPSHOT
[INFO] +- org.springframework:spring-webmvc:jar:5.0.6.RELEASE:compile
[INFO] | +- org.springframework:spring-aop:jar:5.0.6.RELEASE:compile
[INFO] | +- org.springframework:spring-beans:jar:5.0.6.RELEASE:compile
[INFO] | +- org.springframework:spring-context:jar:5.0.6.RELEASE:compile
[INFO] | +- org.springframework:spring-core:jar:5.0.6.RELEASE:compile
[INFO] | | \- org.springframework:spring-jcl:jar:5.0.6.RELEASE:compile
[INFO] | +- org.springframework:spring-expression:jar:5.0.6.RELEASE:compile
[INFO] | \- org.springframework:spring-web:jar:5.0.6.RELEASE:compile
[INFO] +- javax.servlet:javax.servlet-api:jar:3.1.0:provided
[INFO] \- org.projectlombok:lombok:jar:1.18.6:compile
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 2.689 s
[INFO] Finished at: 2021-12-13T21:15:13+08:00
[INFO] ------------------------------------------------------------------------
可以看到是通過依賴 org.springframework:spring-webmvc:jar:5.0.6.RELEASE:compile
引入進(jìn)來的,那么我們就可以修改pom如下來剔除spring-beans的依賴:
<dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>5.0.6.RELEASE</version> <exclusions> <exclusion> <groupId>org.springframework</groupId> <artifactId>spring-beans</artifactId> </exclusion> </exclusions> </dependency>
這樣spring-beans的依賴就被剔除了。其實(shí)通過idea工具View->Tool Windows->Maven->Dependencies
也是可以查看的,如下圖:
并且哪些依賴因?yàn)橹貜?fù)被自動(dòng)剔除了也會(huì)標(biāo)記出來,后面提示omitted for dplicate
的就是。
寫在后面
參考文章列表:
到此這篇關(guān)于maven查看依賴樹的方法實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)maven查看依賴樹內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- maven依賴關(guān)系中的<scope>provided</scope>使用詳解
- 解決IDEA中Maven依賴包導(dǎo)入失敗報(bào)紅問題(總結(jié)最有效8種解決方案)
- IDEA 重新導(dǎo)入依賴maven 命令 reimport的方法
- spring boot的maven配置依賴詳解
- Maven導(dǎo)入依賴時(shí)爆紅的幾種解決方法
- idea重新下載已刪除的maven依賴包操作
- 解決Maven中關(guān)于依賴導(dǎo)入不進(jìn)的問題
- 如何把本地jar包導(dǎo)入maven并pom添加依賴
- 導(dǎo)出maven項(xiàng)目依賴的jar包(圖文教程)
相關(guān)文章
Eclipse轉(zhuǎn)Itellij IDEA導(dǎo)入Git/svn本地項(xiàng)目的詳細(xì)步驟
這篇文章主要介紹了Eclipse轉(zhuǎn)Itellij IDEA導(dǎo)入Git/svn本地項(xiàng)目,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-10-10SpringCloud Feign 服務(wù)調(diào)用的實(shí)現(xiàn)
Feign是一個(gè)聲明性web服務(wù)客戶端。本文記錄多個(gè)服務(wù)之間使用Feign調(diào)用,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2019-01-01java 定義長度為0的數(shù)組/空數(shù)組案例
這篇文章主要介紹了java 定義長度為0的數(shù)組/空數(shù)組案例,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-03-03Spring?Boot中獲取request的三種方式及請求過程
這篇文章主要介紹了Spring?Boot當(dāng)中獲取request的三種方式,包括請求過程流程分析及response常用API,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下2022-03-03ByteArrayOutputStream與InputStream互相轉(zhuǎn)換方式
這篇文章主要介紹了ByteArrayOutputStream與InputStream互相轉(zhuǎn)換方式,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-12-12