升级jar包版本,直接报nested exception is java.lang.NoSuchMethodError: okhttp3.HttpUrl.get(Ljava/lang/Strin...

这种一看就是Jar包冲突的原因,对于我来说第一次解决这种jar包冲突的,所以网上一顿狂搜,说是有多个版本的Jar包,没办法识别使用哪一个,所以提示找不到方法错误,Idea有一个很好解决冲突的插件就是maven helper

1、idea安装maven helper插件

在idea中找到File-setting-plugins就可以找到如下图了


image.png
2、具体使用
  • 因为我是okhttp3包冲突了,于是我全局在代码中搜索,到底在哪些pom.xml中有okhttp3


    image.png
  • 找到对应的pom.xml文件,并打开,可以看到我们Dependency Analyzer


    image.png
  • 打开“Dependency Analyzer”,默认就是在冲突那一项,如果冲突jar包太多,还可以在边上直接搜索,可以看到我的OkHttp3存在了冲突,点开OkHttp3,右边就会出现红色的,是表示在哪些其他的jar包中引入了OkHttp3,所以需要解决这一些的冲突


    image.png
  • 在上面冲突的几个jar包排除
    选中红色的,右键会出现如图,点击Exclude


    image.png

    对比下在点击Exclude之前 和之后冲突的那个包的区别


    没解决之前
排除之后
  • 然后就保存,这里一定要注意排干净,我当时就遇到自己以为解决了,结果就是还有一个地方的pom.xml地方没有解决,导致打出来的jar包里面的OKHttp3的版本还是不对,当初以为是缓存的问题,还跑去清理了Maven的缓存
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容