天天看點

解決多版本jar沖突終極版(多版本共同存在互不影響)

一、使用工具包jarjar.jar修改包名

解決多版本jar包沖突:但是幾個版本必須同時使用(把某一個或幾個jar包的包名更換就不會沖突)

1、下載下傳jarjar.jar,我使用的是1.4版本。親測有效 

連結:https://pan.baidu.com/s/168IMHXkZ4MVUQRWQ77y_pQ 

提取碼:m41l

2、把jarjar-1.4.jar,和你需要跟換jar包名的jar放在同一目錄

3、在同一目錄下建立跟換規則 rule.txt

4、在rule.txt寫入包替換規則:

rule org.apache.pdfbox.**  [email protected]

5、cmd 指令進入jarjar.jar的目錄

解決多版本jar沖突終極版(多版本共同存在互不影響)

6、執行:java -jar jarjar-1.4.jar process rule.txt pdfbox-2.0.17.jar mypdfbox-2.0.17.jar

7、使用新包mypdfbox-2.0.17.jar時候隻需要導入org.apache.mypdfbox.*的路徑和之前org.apache.pdfbox.*差別開了

解決多版本jar沖突終極版(多版本共同存在互不影響)

二、有java源碼情況下

1、下載下傳源碼(maven庫等)

2、導入java編輯器(eclipse、myeclipse、idea)

3、把頂級的包名改了,eg  org.apache.pdfbox.** ,把org改成com,把所有相關類路徑全改了通過編譯,重新打成jar

三、把多版本的jar進行合并,修改源代碼,合并成一個。感覺難度高

四、把需要使用類,沖突的那部分代碼copy出來放到項目中,這個沖突類引用之前的類。自己再調用自己整合的類