当前位置:网站首页>解决多版本jar包冲突问题
解决多版本jar包冲突问题
2022-08-02 17:19:00 【花开不识君】
解决多版本jar包冲突问题
在和三方对接的过程中,我们可能会不断引入一些三方jar包,但这个时候就有可能出现一个项目需要依赖两个版本不同且功能不兼容的jar包,本文记录一种方法解决方法。
修改jar全限定名
我们知道jvm加载类是通过判断类的全限定名来判断当前类是否被加载,这个导致多版本jar包不兼容的原因,那么我们就从里下手。
例子
我们需要将 bcprov-jdk15on-1.65.jar 由原本的org.bouncycastle 替换为shade.bouncycastle
1、准备两个文件
1、jarjar.jar
<!--自行把jar下载下来-->
<dependency>
<groupId>com.googlecode.jarjar</groupId>
<artifactId>jarjar</artifactId>
<version>1.3</version>
</dependency>
2、rule.txt
rule org.bouncycastle.** [email protected]
2、放到一个文件下(联同要修改的jar包)

4、运行jarjar
java -jar jarjar-1.3.jar process rule.txt bcprov-jdk15on-1.65.jar shade-bcprov-jdk15on-1.65.jar
5、大公告成!

边栏推荐
- navicat creates a connection 2002-can't connect to server on localhost (10061) and the mysql service has started the problem
- golang学习之七:并发编程基础(goroutine、channel、select)
- ffmpeg cannot find libx264 after compilation
- 德国客户对文档管理系统、工作流自动化软件 DocuWare 的评价
- [C Language Brush Questions] Three Questions for Getting Started with Pointers | String Length, String Copy, Two Number Swap
- 边界访问的空间权限
- navicat premium 15 下载安装详细教程
- 再获权威认证!马上消费安逸花APP通过中国信通院“金融APP人脸识别安全能力评测”
- 什么是实时流引擎?
- 蔚来杯2022牛客暑期多校训练营5 ABCDFGHK
猜你喜欢

电烙铁的基础知识

字节面试官狂问我:你没有高并发、性能调优经验,为什么录取你?

如何生成随机数+原理详细分析

分布式 | dble 启动的时候做了什么之配置检测

年轻人接棒大妈,金价跌回“4字头”,七夕迎黄金消费小热潮

nacos集群配置详解

navicat creates a connection 2002-can't connect to server on localhost (10061) and the mysql service has started the problem

oracle 和mysql 语句结果不一致问题

Nacos的基本配置

Navicat 连接Oracle时提示oracle library is not loaded的问题解决
随机推荐
FP6606CLP5 SOP-8 USB Type-C和PD充电控制器
Navicat premium download and install 15 detailed tutorial
阿波罗 planning代码-modules\planning\lattice\trajectory_generation\PiecewiseBrakingTrajectoryGenerator类详解
vulnhub W34kn3ss: 1
谁抢走了华大基因的生意?
红蓝对抗经验分享:CS免杀姿势
Pytest study notes
nacos集群配置详解
Five speakers: seventy genius_platform software platform development 】 【 turn YUY2 RGB24 implementation source code
php弱类型-攻防世界lottery
Wechat Gymnasium Appointment Mini Program Graduation Design Finished Works (7) Mid-term Inspection Report
【genius_platform软件平台开发】第七十五讲:YUY2转RGB24实现源码
Kubernetes:(七)优化大法(江湖失传已久的武林秘籍)
golang 计算器实现
executeScript异步执行的时候没有返回值的原因
oracle 和mysql 语句结果不一致问题
golang源码分析(10)slice
golang源码分析(9)调度
golang源码分析(6):sync.Mutex sync.RWMutex
什么是实时流引擎?