我使用java 17和okhttp-4.9.3。电话是:
OkHttpClient httpClient = new OkHttpClient.Builder().build();
运行程序,我得到异常:
Exception in thread "ReadStationsThread" java.lang.NoClassDefFoundError: okio/Buffer
at [email protected]/okhttp3.ResponseBody$Companion.create(ResponseBody.kt:248)
at [email protected]/okhttp3.ResponseBody$Companion.create$default(ResponseBody.kt:247)
at o[email protected]/okhttp3.internal.Util.\<clinit\>(Util.kt:65)
程序可以无错误地构建。我将 gradle 与这些依赖项一起使用:
implementation ':okhttp-4.9.3'
implementation ':okio-3.3.0'
implementation ':okio-jvm-3.3.0'
implementation ':kotlin-stdlib-1.8.21'
在 module-info.java 中是这些:
requires okhttp3;
requires okio;
requires kotlin.stdlib;
运行程序,调用异常。当我删除 mdule-info.java 文件并在没有模块的情况下运行该程序时,它可以正常工作。知道模块信息遗漏了什么吗?
要求赏金后不久,我自己做了......
对我有用的是这个版本组合:
okio-3.5.0
okio-jvm-3.5.0
okhttp-4.11.0
kotlin-stdlib-1.6.20