maven依赖httpclient的使用错误及解决方案:

项目需求:

上传文件到阿里OSS

问题总述:

由于所使用的maven依赖的版本低和版本冲突所造成的问题

问题描述:

错误一:java.lang.ClassNotFoundException:org.apache.http.conn.ssl.DefaultHostnameVerifier

百度搜索类:DefaultHostnameVerifier
参考url1https://www.cnblogs.com/SongG-blogs/p/9549634.html
参考url2https://blog.csdn.net/qq_38990795/article/details/103063157
参考url3https://blog.csdn.net/loongshawn/article/details/50831890

错误原因:低版本的httpclient(4.3.2)中没有org.apache.http.conn.ssl.DefaultHostnameVerifier,所以报错。
在这里插入图片描述解决方案:升级maven依赖httpclient为高一点的版本4.4.1,当然也可以排除依赖
在这里插入图片描述修改后:
在这里插入图片描述注意:jdk1.8中也有这个类,httpclient中也有,而此处需要的是httpclient中的
在这里插入图片描述

错误二:java.lang.NoSuchMethodError:org.apache.http.impl.conn.CPool.setValidateAfterInactivity(I)V

错误描述:将httpclient的版本由4.3.2升级为高版本的4.4.1之后,又抛出了这个新的异常:java.lang.NoSuchMethodError:org.apache.http.impl.conn.CPool.setValidateAfterInactivity(I)V

百度搜索异常信息
java.lang.NoSuchMethodError:org.apache.http.impl.conn.CPool.setValidateAfterInactivity(I)V
参考urlhttps://blog.csdn.net/Cheng120636/article/details/80688277

项目中所引用的maven依赖如下:
在这里插入图片描述ctrl + 鼠标左键点4.4.1,查看httpclient4.4.1所引用的依赖如下图所示:
在这里插入图片描述项目中显示引用了httpcore4.3.1,然后在httpclient4.4.1中又隐示引用了httpcore4.4.1,版本冲突。
解决方案:将显示引用的httpcore4.3.1给注释掉即可,如下图:
在这里插入图片描述

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值