Jar包沖突問(wèn)題原理及解決方案
背景:
新需求需要引入新jar包,引入后發(fā)現(xiàn)本地啟動(dòng)沒(méi)有報(bào)錯(cuò),發(fā)到測(cè)試環(huán)境提示某個(gè)bean無(wú)法創(chuàng)建,nested exception is java.lang.VerifyError: Bad type on operand stack。
解決:
1,沒(méi)有引入新jar包之前是沒(méi)有提示這個(gè)報(bào)錯(cuò)了,猜測(cè)是jar包沖突。
2,到測(cè)試環(huán)境的lib目錄根據(jù)新引入jar包的關(guān)鍵字找到如圖所示的jar,圖中最下面三個(gè)jar是新功能需要引入的jar,多了excelmagic-1.3-20190806.100559-3.jar這個(gè)包,基本確定是這個(gè)jar造成的沖突。

3,通過(guò)idea自帶的show dependencies沒(méi)有找到這個(gè)jar是哪個(gè)包引入的
4,通過(guò)maven helper沒(méi)有找到關(guān)于這個(gè)jar的沖突記錄
5,快11點(diǎn)了下班回家。回到家靈機(jī)一動(dòng),能否從jenkins構(gòu)建日志查查。最終根據(jù)這個(gè)jar的關(guān)鍵字找到如圖構(gòu)建日志:

6,在引入這個(gè)baseinfo包的地方exclusion掉excelmagic之后,重新構(gòu)建成功。
<exclusion> <artifactId>excelmagic</artifactId> <groupId>com.隱藏.fop.fnp.excelmagic</groupId> </exclusion>
7,回過(guò)頭來(lái)用maven helper查看,至此不明白的地方在于為何這個(gè)excelmagic包沒(méi)有體現(xiàn)在baseinfo包上,并且這個(gè)networkinit包在pom里是已經(jīng)做了exclude的

8,把目光集中在引入baseinfo包的exclusion的寫法上,如下:
<exclusion> <groupId>*</groupId> <artifactId>*</artifactId> </exclusion>
這個(gè)用法沒(méi)怎么用過(guò),不清楚啥原理。將其注釋后,在maven helper能找到excelmagic這個(gè)包是由baseinfo引入的。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
springboot集成shiro遭遇自定義filter異常的解決
這篇文章主要介紹了springboot集成shiro遭遇自定義filter異常的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-11-11
基于Java和XxlCrawler獲取各城市月度天氣情況實(shí)踐分享
本文主要講解使用Java開發(fā)語(yǔ)言,使用XxlCrawler框架進(jìn)行智能的某城市月度天氣抓取實(shí)踐開發(fā),文章首先介紹目標(biāo)網(wǎng)站的相關(guān)頁(yè)面及目標(biāo)數(shù)據(jù)的元素,然后講解在信息獲取過(guò)程的一些參數(shù)配置以及問(wèn)題應(yīng)對(duì),需要的朋友可以參考下2024-05-05
SpringCloud Feign Jackson自定義配置方式
這篇文章主要介紹了SpringCloud Feign Jackson自定義配置方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-03-03
SpringBoot2.1.3修改tomcat參數(shù)支持請(qǐng)求特殊符號(hào)問(wèn)題
最近遇到一個(gè)問(wèn)題,比如GET請(qǐng)求中,key,value中帶有特殊符號(hào),請(qǐng)求會(huì)報(bào)錯(cuò)。接下來(lái)通過(guò)本文給大家分享解決SpringBoot2.1.3修改tomcat參數(shù)支持請(qǐng)求特殊符號(hào) ,需要的朋友可以參考下2019-05-05
java后臺(tái)本地文件轉(zhuǎn)為MultipartFile類型的實(shí)現(xiàn)方式
在Java后臺(tái)將本地文件轉(zhuǎn)換為MultipartFile類型,可以通過(guò)使用FileItemFactory創(chuàng)建FileItem,然后使用CommonsMultipartFile類構(gòu)造一個(gè)MultipartFile對(duì)象,將本地文件流轉(zhuǎn)換為MultipartFile,getMultipartFiles()和getMultipartFiles()方法2025-02-02
全面詳解Maven打包及其相關(guān)插件和高級(jí)特性
這篇文章主要為大家介紹了Maven打包及其相關(guān)插件和高級(jí)特性的全面詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-05-05
java二維數(shù)組實(shí)現(xiàn)推箱子小游戲
這篇文章主要為大家詳細(xì)介紹了java二維數(shù)組實(shí)現(xiàn)推箱子小游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-11-11
關(guān)于Spring Boot動(dòng)態(tài)權(quán)限變更問(wèn)題的實(shí)現(xiàn)方案
這篇文章主要介紹了Spring Boot動(dòng)態(tài)權(quán)限變更實(shí)現(xiàn)的整體方案使用session作為緩存,結(jié)合AOP技術(shù)進(jìn)行token認(rèn)證和權(quán)限控制,本文給大家介紹的非常詳細(xì),需要的朋友參考下吧2021-06-06

