Maven?Pom?文件中的隱式依賴導(dǎo)致Jar沖突問題
在maven項目中遇到這樣一個場景
- 項目中的pom文件中,依賴了Spring-core,而Spring-core又隱式的依賴了commons-logging。
- 項目中同時配置了對定時任務(wù)quartz 包的依賴,而quartz又隱式依賴了slf4j。
這樣項目中既有了commons-logging又有了slf4j。導(dǎo)致在log4j.properties里配置的mybatis的sql顯示配置,一直沒起作用,直到我查看maven dependencie中的jar包時,才發(fā)現(xiàn)項目既依賴了common-logging又引入了slf4j。后來通過排除quartz中的slf4j的依賴
解決了上述沖突的問題
<dependency> <groupId>org.quartz-scheduler</groupId> <artifactId>quartz</artifactId> <exclusions> <exclusion> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> </exclusion> </exclusions> </dependency>
以后該如何解決這種類似的問題呢。eclipse提供了對隱式依賴jar包的查看功能:在eclipse中打開一個pom文件,在Dependency Hierarchy的Tab頁中,就可以查看當(dāng)前pom文件中顯示聲明的jar包,及這些顯示聲明的jar中隱式引入的依賴jar包。
這樣就可以查看有哪些隱式的依賴jar會導(dǎo)致jar包沖突了。
Maven 查看jar包依賴關(guān)系
使用eclipse操作,在項目中打開pom.xml文件進(jìn)入Dependency Hierarchy 來查看依賴樹
Dependency hierarchy
:依賴層次視圖
Resolved dependencies
:依賴關(guān)系解析
點擊右邊jar或者搜索需要查找的jar可以在左邊找到對應(yīng)關(guān)系
比如在NewEnergyCheckDemo項目中啟動springBoot工程控制臺不打印錯誤信息,那一定是某個日志jar包有沖突導(dǎo)致的,我們就可以直接搜索要查找的jar,我們可以看到在pom.xml文件中依賴了
而Commons-vfs2這個jar包中又隱式依賴了commons-logging
在項目中我們又配置了spring-boot-starter-web的依賴
我們可以看到該jar包又隱式依賴了一些其他的jar包,如spring-boot-starter又包含了spring-boot-starter-logging,該依賴的內(nèi)容就是springBoot默認(rèn)的日志框架logback,所以我們在使用springBoot的日志框架時應(yīng)該先排除commons-vfs2中commons-logging該jar包的依賴.
排除jar包依賴,找到需要排除的jar包點擊右鍵如下圖
排除依賴之后的pom.xml坐標(biāo)如下
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Spring AspectJ 實現(xiàn)AOP的方法你了解嗎
這篇文章主要為大家介紹了Spring AspectJ 實現(xiàn)AOP的方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助2022-01-01Java方法調(diào)用解析靜態(tài)分派動態(tài)分派執(zhí)行過程
這篇文章主要為大家介紹了Java方法調(diào)用解析靜態(tài)分派動態(tài)分派執(zhí)行過程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-06-06Maven打包jar生成javadoc文件和source文件代碼實例
這篇文章主要介紹了Maven打包jar生成javadoc文件和source文件代碼實例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2019-11-11spring mvc4的日期/數(shù)字格式化、枚舉轉(zhuǎn)換示例
本篇文章主要介紹了spring mvc4的日期/數(shù)字格式化、枚舉轉(zhuǎn)換示例,具有一定的參考價值,感興趣的小伙伴們可以參考一下。2017-01-01macOS下Spring Boot開發(fā)環(huán)境搭建教程
這篇文章主要為大家詳細(xì)介紹了macOS下Spring Boot開發(fā)環(huán)境搭建教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-01-01