kotlin/TypeCastException 在尝试创建 OkHttpClient 对象时

2022-09-03 04:49:06

当我尝试创建一个新的OkHttpClient对象时,会引发异常

我使用的是OkHttp 3.11.0和OkIO 2.0.0-RC1。

线程 “main” java.lang.NoClassDefFoundError 中的 Exception: kotlin/TypeCastException at okhttp3.ResponseBody.create(ResponseBody.java:210) at okhttp3.internal.Util.(Util.java:60) at okhttp3.OkHttpClient.(OkHttpClient.java:123) at p12.Main.main(Main.java:8) Cause: java.lang.ClassNotFoundException: kotlin.TypeCastException at java.net.URLClassLoader.findClass(URLClassLoader.java:381) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ...4更多


答案 1

您是否将 kotlin stdlib 和 stdlib 通用依赖项添加到您的构建中?看起来他们缺席了。


答案 2

对我有用的解决方案(在此github评论中提到)是添加库本身:okhttp

Gradle kotlin DSL:

testImplementation("com.squareup.okhttp3:okhttp:4.2.2")
testImplementation("com.squareup.okhttp3:mockwebserver:4.2.2")

Gradle Groovy DSL:

testImplementation 'com.squareup.okhttp3:okhttp:4.2.2'
testImplementation 'com.squareup.okhttp3:mockwebserver:4.2.2'

推荐