前几天在调试项目时,引入了okHttpClient类,在进行实例化以后,执行到下面方法莫名出现上述异常
根据经验判断,应该是引入了多个okHttp包造成jar包冲突导致的。打开项目对应的pom文件,切换到pom文件的分析工具
从上图可以发现,既有okhttp2.7.5版本的,又有3.5.0版本,登录到maven中央仓库,
可以看到
2.7.5是老版本的okhttp,而3.5.0是新版本的okhttp3,按道理okhttp应该废弃了,但是项目中是如何引入的呢,重新核对下pom文件
父pom
子pom
从上图可以看出,父pom提供了两个版本okhttp,而子pom显式的声明引用okhttp老版本,而其他的工具包,诸如pay-service-sdk-ext都间接的引用了okhttp3,所以造成了jar包冲突,这里最简单的处理方式,将子pom中的引用统一升到okhttp3版本即可,如下图所示
不知道上述案例有没有帮助到你~