Exception in thread "main" java.lang.NoSuchFieldError: INSTANCE
at org.apache.http.conn.ssl.SSLConnectionSocketFactory.<clinit>(SSLConnectionSocketFactory.java:144)
at com.aliyun.oss.common.comm.DefaultServiceClient.createHttpClientConnectionManager(DefaultServiceClient.java:244)
at com.aliyun.oss.common.comm.DefaultServiceClient.<init>(DefaultServiceClient.java:85)
at com.aliyun.oss.OSSClient.<init>(OSSClient.java:209)
at com.aliyun.oss.OSSClient.<init>(OSSClient.java:129)
at org.apache.http.conn.ssl.SSLConnectionSocketFactory.<clinit>(SSLConnectionSocketFactory.java:144)
at com.aliyun.oss.common.comm.DefaultServiceClient.createHttpClientConnectionManager(DefaultServiceClient.java:244)
at com.aliyun.oss.common.comm.DefaultServiceClient.<init>(DefaultServiceClient.java:85)
at com.aliyun.oss.OSSClient.<init>(OSSClient.java:209)
at com.aliyun.oss.OSSClient.<init>(OSSClient.java:129)
at cn.bfblog.objectsource.GetObject.main(GetObject.java:36)
当出现这种信息的时候是因为项目里有两个httpClient.jar包,编译器默认使用版本低的包,导致你的sdk或者api链接版本不兼容
我这里使用ali的oss对象存储,在获取连接的时候发现这个错误,检查jar包的时候才发现,里面有很多包是多个版本,之前在调试百度AI的时候导了一部分包,版本比ali SDK的低一些,把所有的低版本从项目移除问题就解决了。