解决jar包版本冲突(多版本共同存在互不影响),以bcprov-jdk15on为例

背景

       在对接银行时,其提供的自定义的包中依赖的一个加解密包 bcprov-jdk15on-1.56是1.56 版本,这版中某方法或者类的作用域是public,而在我们项目中引用的bcprov-jdk15on-1.68是更高版本的1.68的,在这版中不是公开的,存在冲突。由于类加载机制,在加载时加载的是高版本的,因此引入的银行的包跑不通。

解决方案-修改jar包路径

1、下载jarjar.jar包,这里使用的是1.4版本

链接:百度网盘 请输入提取码

提取码:9fr0

2、创建文件夹,将jarjar-1.4.jar和需要修改jar包路径的jar放在同一目录,如这里放低版本bcprov-jdk15on-1.56

3、新建跟换规则 rule.txt

      在rule.txt中输入rule org.bouncycastle.**  org.zm.bouncycastle.@1

      意思是将包中org.bouncycastle.**的路径,修改为org.zm.bouncycastle.**

4、将rule.txt文件放到第二步的文件夹下

5、cmd命令进入jarjar.jar的目录,执行 java -jar jarjar-1.4.jar process rule.txt bcprov-jdk15on-1.56.jar bcprov-my-jdk15on.jar

    执行成功后,会在同目录下生成名称为bcprov-my-jdk15on.jar的jar包

6、在自定义的包中引用新生成的bcprov-my-jdk15on.jar包,并使用bcprov-my-jdk15on.jar包中的类和方法
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值