maven查看依賴樹的方法實現(xiàn)
1:寫在前面
在工作中,經(jīng)常會有這樣的場景,因為多個jar包間接引入了同一個jar包的多個不同版本,造成版本沖突,進而程序出現(xiàn)問題,此時就需要確定這些依賴到底是通過哪個jar被引入,而后通過配置exclude解決版本沖突問題,而定位的過程就需要依賴于查看maven的依賴樹,接下來我們就一起看下吧!
2:查看依賴樹
假設(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 是我們希望剔除的依賴,此時就可以這么做,執(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 引入進來的,那么我們就可以修改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的依賴就被剔除了。其實通過idea工具View->Tool Windows->Maven->Dependencies也是可以查看的,如下圖:

并且哪些依賴因為重復(fù)被自動剔除了也會標記出來,后面提示omitted for dplicate的就是。
寫在后面
參考文章列表:
到此這篇關(guān)于maven查看依賴樹的方法實現(xiàn)的文章就介紹到這了,更多相關(guān)maven查看依賴樹內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
使用springboot的jar包能夠以service方式啟動
這篇文章主要介紹了使用springboot的jar包能夠以service方式啟動,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-10-10
使用Spring Security OAuth2實現(xiàn)單點登錄
在本教程中,我們將討論如何使用Spring Security OAuth和Spring Boot實現(xiàn)SSO - 單點登錄。感興趣的朋友跟隨小編一起看看吧2019-06-06
Springboot登錄驗證的統(tǒng)一攔截處理的實現(xiàn)
如果不進行統(tǒng)一的攔截處理,每次用戶請求你都要去進行用戶的信息驗證,所以本文主要介紹了Springboot登錄驗證的統(tǒng)一攔截處理的實現(xiàn),感興趣的可以了解一下,感興趣的可以了解一下2023-09-09
Thread類interrupt interrupted及isInterrupted區(qū)別
這篇文章主要為大家介紹了Thread類interrupt interrupted及isInterrupted區(qū)別,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-10-10

