使用okhttp3 (3.10.0) main方法访问网络时,出现 java.lang.NoSuchFieldError:Companion 这个问题

我的解决方案:

<dependency>
<groupId>com.squareup.okhttp3</groupId>
<artifactId>okhttp</artifactId>
<version>3.10.0</version>
</dependency>

<dependency>
<groupId>com.squareup.okio</groupId>
<artifactId>okio</artifactId>
<version>1.13.0</version>
</dependency>

项目中导了以上两个包,将okio包注释掉解决了问题。

这是治标,后将此包重新导入,测试,又不出现异常。具体的原因不清楚因为什么,若有知情人,请评论。

这里main()方法名称必须是这样写法,严格区分大小写。应用程序的入口方法,也就是说,程序在运行的时候,第一个执行的方法就是。main()被调用的时候无需创建当前类的实例即可执行。方法,这个方法和其他的方法有很大的不同,比如方法的名字必须是。类型的,方法必须接收一个字符串数组的参数等等。main()没有返回类型。(4)参数必须是String类型的数组。(5)方法名必须是main()(1)必须是public。(2)必须是static。(3)返回类型为void。主函数就是主方法,即。 com .squareup.okio包版本不兼容 okhttp3 版本。1、和冲突的包换个位置,用高版本的okio包即可。2、或者添加依赖冲突的sdk的时候排除指定包即可。引发这个问题的原因可能和其他SDK包引用冲突。 在观察报错代码发现,第一个 okhttp3 这个文件,就去文件下找,发现。发现问题已经 解决 ,并查看七牛云,发现已经上传上去,问题已经 解决 。添加的意义,有知道的大佬知道可以评论探讨一下。重新刷新,清理并编译,重新运行test文件。版本有点低,于是在pom中添加。 A friend of mine wanted to start to learn java , and I wanted to help him, so we created a simple Hello World example. public class Hello { public static void main(String argv[]) { system.out.pr... 因为用到短信验证码,所以导入了httpclient-xx.jar 和httpcore-xx.jar包。ps:本来项目里已经有相应版本的jar包,因为jar包没有对应的class文件,所以cho重新导入其他版本的jar包。 2.报错原因 因为出现同名jar包冲突而引起的报错。ps:tomcat下同名不同版本的jar包,默认加载版本低的。 3. 解决 方法 删除发生冲突的jar包即可。... 问题浮现(结论党请跳过这一节直接查看‘总结’): 今天项目遇到这个问题,搜集网上各路大神的 解决 方式,都是第三方jar包使用高版本之后便 解决 了问题,也有少数人说是因为同时出现高版本和低版本jar包出现的问题,比如:,又比如:。 那么问题来了,我们使用的类名定义都是自定义的类,包路径也是公司名+部门名称+类名,比如: com . com pa nyname. pa rtname.Business Error 。这还 Exception in thread "main" java . lan g.NoSuch Field Error : INSTANCE at org.a pa che.http.conn.ssl.SSLConnectionSocketFactory.(SSLConnectionSocketFactory. java :144) at com .aliyun.oss. com mon. com m.DefaultServ okhttp3 .2与okip1.6,使用 okhttp3 .2请求必须要okio一起使用。出现 Exception in thread "main" java . lan g.NoClassDefFound Error : kotlin/jvm/internal/Intrinsics at okio.Okio.source(Okio.kt) at okhttp3 .internal.io.RealConnection.connectSocket(RealConnection. java :144) at okhttp3 .internal.io.RealConnection.connect(RealConnection. java :111) at okhttp3 .internal.http.StreamAllocation.findConnection(StreamAllocation. java :188) at okhttp3 .internal.http.StreamAllocation.findHealthyConnection(StreamAllocation. java :127) 可以更换为此版本 解决 java . lan g.NoSuch Field Error : STRING at org.jbpm.identity.hibernate.PermissionUserType. 不用jbpm的jbpm-identity.jar 用这个就好