java处理类冲突

0x00 现象描述

应用中已存在低版本jar依赖,如何在不改变低版本依赖下,使用高版本jar

0x01 解决办法

  • 使用maven shade插件进行jar 重打包,将包名替换为新的包名
  • 使用自定义类加载器,实现类隔离

0x02 maven shade用法

本质是通过对冲突类的整个模块进行重命名,来实现冲突隔离

0x03 类加载隔离实现

通过指定类加载器来加载不同版本的jar,实现冲突隔离

0x04 参考

解决项目版本冲突——maven-shade插件使用
解决 jar 包冲突的神器:maven-shade-plugin