无论依赖版本如何,OkHttp 都会导致 NoClassDefFoundError

问题描述

我正在尝试通过 RapidAPI 使用 API 来获取各种篮球统计数据。以下错误指向下面的 OkHttpClient 声明行。我尝试将多个版本的 Kotlin-stdlib JAR 文件添加到项目的构建路径(我使用的是 Eclipse),并在运行此测试请求时遇到相同的错误。我目前已将 Kotlin v1.4.10 添加到构建路径中,并在引用库列表中查看错误消息中命名的类。我也在使用 OkHttp v4.91 和 Okio v2.7.0 库,如 OkHttp 更改日志中所述。另外,我没有使用 Maven 或 Gradle 构建。

    OkHttpClient client = new OkHttpClient();
    Request request = new Request.Builder()
        .url("https://api-nba-v1.p.rapidapi.com/players/firstName/lebron")
        .get()
        .addHeader("x-rapidapi-key",rAPIKey)
        .addHeader("x-rapidapi-host",host)
        .build();

    Response response = client.newCall(request).execute();

   System.out.println(response.body().string());

产生此错误代码

Exception in thread "main" java.lang.NoClassDefFoundError: kotlin/jvm/internal/markers/KMappedMarker
at okhttp3.internal.Util.<clinit>(Util.kt:63)
at okhttp3.OkHttpClient.<clinit>(OkHttpClient.kt:1073)
at CourtVisionary.main(CourtVisionary.java:39)

是什么导致了这个问题?提前致谢。

编辑:修复了我自己的问题。我创建了一个新项目,复制并粘贴了我的 java 文件添加了 JAR 文件,运行时没有错误

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)