Java 尝试创建OkHttpClient对象时出现kotlin/TypeCastException
当我尝试创建一个新的OkHttpClient对象时,会抛出一个异常 我正在使用OkHttp 3.11.0和OkIO 2.0.0-RC1 线程“main”java.lang.NoClassDefFoundError中出现异常:kotlin/TypeCastException 在okhttp3.ResponseBody.create(ResponseBody.java:210) 位于okhttp3.internal.Util.(Util.java:60) 在okhttp3.OkHttpClient(OkHttpClient.java:123) 在p12.Main.Main(Main.java:8) 原因:java.lang.ClassNotFoundException:kotlin.TypeCastException 位于java.net.URLClassLoader.findClass(URLClassLoader.java:381) 位于java.lang.ClassLoader.loadClass(ClassLoader.java:424) 位于sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349) 位于java.lang.ClassLoader.loadClass(ClassLoader.java:357) ... 4更多Java 尝试创建OkHttpClient对象时出现kotlin/TypeCastException,java,okhttp,okio,Java,Okhttp,Okio,当我尝试创建一个新的OkHttpClient对象时,会抛出一个异常 我正在使用OkHttp 3.11.0和OkIO 2.0.0-RC1 线程“main”java.lang.NoClassDefFoundError中出现异常:kotlin/TypeCastException 在okhttp3.ResponseBody.create(ResponseBody.java:210) 位于okhttp3.internal.Util.(Util.java:60) 在okhttp3.OkHttpClient(
您是否将kotlin stdlib和stdlib公共依赖项添加到构建中?看起来他们缺席了。我也有同样的问题。
添加到构建路径对我有效的解决方案(在本文中提到)是添加
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'
您的项目很可能包括
okhttp
的版本作为3.x.x
的版本,
导致mockwebserver
依赖于错误版本的okhttp
,该版本还不包含对kotlin stdlib common
的可传递依赖项
如果您正在使用Spring Boot
和mockwebserver
只需将以下属性添加到pom中
OSGi中的
4.x.x
不使用kotlin库,而是使用kotlin包:
我也遇到了同样的问题,我添加了Kotlin依赖项,如下所示:
<dependency>
<groupId>org.jetbrains.kotlin</groupId>
<artifactId>kotlin-stdlib</artifactId>
<version>1.4.32</version>
</dependency>
org.jetbrains.kotlin
科特林标准实验室
1.4.32
您能提供出错的代码吗?