aliyun sts SSLConnectionSocketFactory

java.lang.NoSuchMethodError: INSTANCE org.apache.http.conn.ssl.SSLConnectionSocketFactory报错解决
sprintboot项目,因为项目需要上传文件至阿里云。引入了阿里云sts的sdk。

    <dependency>
        <groupId>com.aliyun.oss</groupId>j
        <artifactId>aliyun-sdk-oss</artifactId>
        <version>3.10.2</version>
    </dependency>            

项目中原来就用过阿里云sts的sdk,版本较老2.8的版本。因为种种原因,有两年没有用过相关功能了。所以这次升级了sdk版本。

本来以为是个简单的功能。老版本sdk也是我接入的么,没啥问题。

万万没想到!!!本地idea里面开发跑的好好的。通过jekins打包发版到测试环境上ossClient初始化报错了!!!

报错内容:

java.lang.NoSuchMethodError: org.apache.http.conn.ssl.SSLConnectionSocketFactory.(Ljavax/net/ssl/SSLContext;Ljavax/net/ssl/HostnameVerifier;)V at com.aliyun.oss.common.comm.DefaultServiceClient.createHttpClientConnectionManager(DefaultServiceClient.java:244) at com.aliyun.oss.common.comm.DefaultServiceClient.(DefaultServiceClient.java:85) at com.aliyun.oss.OSSClient.(OSSClient.java:209) at com.aliyun.oss.OSSClient.(OSSClient.java:129)

百度后,大部分人说是jar冲突了。oss的sdk要求的httpclient的版本是4.4.1,把版本改成4.4.1及以上就好了。

我们项目的httpclient版本就是4.4.1。改成了4.5.2,放在服务器上还是报错。
继续百度,查了一星期,终于看到一个大佬文章,可能时引入的其他包本地包重写了这个类的方法,一去看,果然是这样,由于需要,本地引入了android.jar,其中的org.apache.http.conn.ssl.SSLConnectionSocketFactory.被重写覆盖了,导致打包合并了之后这个类被覆盖,sts 引用时报错,解决:
在android.jar中删除掉这个类;
打包测试,完美解决;

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值