一、使用工具包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.** org.apache.mypdfbox.@1
5、cmd 命令进入jarjar.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.*区别开了
二、有java源码情况下
1、下载源码(maven库等)
2、导入java编辑器(eclipse、myeclipse、idea)
3、把顶级的包名改了,eg org.apache.pdfbox.** ,把org改成com,把所有相关类路径全改了通过编译,重新打成jar
三、把多版本的jar进行合并,修改源代码,合并成一个。感觉难度高
四、把需要使用类,冲突的那部分代码copy出来放到项目中,这个冲突类引用之前的类。自己再调用自己整合的类