java,okhttp,我得到这些异常:java.lang.NoClassDefFoundError:okio/Buffer,没有模块

Tho*_*mas 5 java module gradle okhttp

我使用 java 17 和 okhttp-4.9.3。通话内容是:

OkHttpClient httpClient = new OkHttpClient.Builder().build();
Run Code Online (Sandbox Code Playgroud)

运行程序,我得到异常:

Exception in thread "ReadStationsThread" java.lang.NoClassDefFoundError: okio/Buffer
at okhttp3@4.9.3/okhttp3.ResponseBody$Companion.create(ResponseBody.kt:248)
at okhttp3@4.9.3/okhttp3.ResponseBody$Companion.create$default(ResponseBody.kt:247)
at okhttp3@4.9.3/okhttp3.internal.Util.\<clinit\>(Util.kt:65)
Run Code Online (Sandbox Code Playgroud)

该程序可以无错误地构建。我将 gradle 与这些依赖项一起使用:

implementation ':okhttp-4.9.3'
implementation ':okio-3.3.0'
implementation ':okio-jvm-3.3.0'
implementation ':kotlin-stdlib-1.8.21'
Run Code Online (Sandbox Code Playgroud)

在 module-info.java 中是这些:

requires okhttp3; 
requires okio; 
requires kotlin.stdlib;
Run Code Online (Sandbox Code Playgroud)

运行程序,调用异常。当我删除 mdule-info.java 文件并在没有模块的情况下运行该程序时,它可以正常工作。知道模块信息遗漏了什么吗?

Dor*_*rad 1

对我有用的是这个版本组合:

  • okio-3.5.0
  • okio-jvm-3.5.0
  • okhttp-4.11.0
  • kotlin-stdlib-1.6.20