使用
okhttp3
(3.10.0) main方法访问网络时,出现
java
.
lan
g.NoSuch
Field
Error
:
Com
pa
nio
n 这个问题
我的解决方案:
<dependency>
<groupId>
com
.squareup.
okhttp3
</groupId>
<artifactId>okhttp</artifa...
UDF 函数里引用了httpclient jar包,用来请求外网,报错
Caused by:
java
.
lan
g.NoSuch
Field
Error
: INSTANCE
at org.a
pa
che.http.conn.ssl.SSLConnectionSocketFactory.<clinit>(SSLConnectionSocketFact...
在观察报错代码发现,第一个
okhttp3
这个文件,就去文件下找,发现。发现问题已经解决,并查看七牛云,发现已经上传上去,问题已经解决。添加的意义,有知道的大佬知道可以评论探讨一下。重新刷新,清理并编译,重新运行test文件。版本有点低,于是在pom中添加。
问题浮现(结论党请跳过这一节直接查看‘总结’):
今天项目遇到这个问题,搜集网上各路大神的解决方式,都是第三方jar包使用高版本之后便解决了问题,也有少数人说是因为同时出现高版本和低版本jar包出现的问题,比如:,又比如:。
那么问题来了,我们使用的类名定义都是自定义的类,包路径也是公司名+部门名称+类名,比如:
com
.
com
pa
nyname.
pa
rtname.Business
Error
。这还
赠送jar包:okhttp-3.14.9.jar;
赠送原API文档:okhttp-3.14.9-
java
doc.jar;
赠送源代码:okhttp-3.14.9-sources.jar;
赠送
Maven
依赖信息文件:okhttp-3.14.9.pom;
包含翻译后的API文档:okhttp-3.14.9-
java
doc-API文档-中文(简体)-英语-对照版.zip;
Maven
坐标:
com
.squareup.
okhttp3
:okhttp:3.14.9;
标签:squareup、
okhttp3
、okhttp、jar包、
java
、中英对照文档;
使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。
人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。
双语对照,边学技术、边学英语。
我遇到这个问题是因为我发现在pom文件中导入重复冲突的jar包:
<!--<dependency>-->
<!--<groupId>org.springframework.data</groupId>-->
<!--<artifactId>spring-data-redis</artifactId>-->
<!--<version>2.6.2</version>
org.springframework.beans.factory.BeanCreationException:
Error
creating bean with name 'shiroFilter': FactoryBean threw exception on object creation; nested exception is ..
其中,A与B模块
pa
rent一致,C模块独立。
此时A与B模块中的okhttp依赖为
com
.squareup.
okhttp3
,其版本为3.4.2
C模块则为
com
-framework-okhttp。打包A模块,出来的lib包中,是
com
.squareup.
okhttp3
的3.4.2 的jar包...
这是在开发sdk碰到坑
本质是kotlin编译器问题,也就是kotlin编译前端的问题,如果sdk版本的类文件
Com
pa
nio
n+JvmStatic标识静态函数的做法改变了应该直接提示编译错误,终止编译
引起的原因:
sdk A 版本1的类文件 YourClass里面有个
Com
pa
nio
n对象
sdk A 版本2中类文件 YourClass去掉了
Com
pa
nio
n对象
sdk B 版本1依赖了sdk A 版本1