前几天在调试项目时,引入了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版本即可,如下图所示

不知道上述案例有没有帮助到你~
在项目调试过程中遇到OkHttpClient使用异常,分析发现是由于同时引入了okhttp2.7.5和okhttp3.5.0版本造成的jar包冲突。通过检查pom文件,发现在父pom和子pom中都有不同版本的okhttp依赖,子pom还显式引用了老版本。为解决冲突,将子pom中引用升级到okhttp3版本,从而消除了冲突。
3511

被折叠的 条评论
为什么被折叠?



