解决多版本jar冲突终极版(多版本共同存在互不影响)

时间:2024-03-19 20:08:31

一、使用工具包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出来放到项目中,这个冲突类引用之前的类。自己再调用自己整合的类