okhttp - okhttp 和 minio 3.x 包的问题

标签 okhttp minio

我有一个使用 Maven 导入 io.minio minio 包的 Java 8 项目。我们一直在使用 minio 包 8.2.1,但由于 this vulnerability我们正在尝试将此软件包更新到较新的版本。尝试更新到任何 8.3 版本后,我在尝试构造新的 MinioClient 对象时得到以下堆栈跟踪:

Caused by: java.lang.RuntimeException: Unsupported OkHttp library found. Must use okhttp >= 4.8.1
    at io.minio.S3Base.<clinit>(S3Base.java:100)
    ... 26 more
Caused by: java.lang.NoSuchMethodError: kotlin.collections.ArraysKt.copyInto([B[BIII)[B
    at okio.Segment.writeTo(Segment.kt:169)
    at okio.Segment.compact(Segment.kt:152)
    at okio.Buffer.write(Buffer.kt:1842)
    at okio.Buffer.read(Buffer.kt:1854)
    at okio.Buffer.writeAll(Buffer.kt:1642)
    at okio.Options$Companion.buildTrieRecursive(Options.kt:187)
    at okio.Options$Companion.buildTrieRecursive(Options.kt:174)
    at okio.Options$Companion.buildTrieRecursive$default(Options.kt:113)
    at okio.Options$Companion.of(Options.kt:72)
    at okhttp3.internal.Util.<clinit>(Util.kt:71)
    at okhttp3.RequestBody$Companion.create(RequestBody.kt:145)
    at okhttp3.RequestBody$Companion.create$default(RequestBody.kt:143)
    at okhttp3.RequestBody.create(RequestBody.kt)
    at io.minio.S3Base.<clinit>(S3Base.java:98)
    ... 26 more

我没有覆盖 minio 8.3.X 中包含的 okhttp 包 (4.8.1)。我已经验证 maven 在 IntelliJ 项目查看器的外部库部分中(仅)使用 okhttp3 4.8.1,并通过运行 mvn dependency:tree 并看到只有一个 okhttp3 包在使用项目(v4.8.1)。有人知道如何解决这个错误吗?

最佳答案

您的构建工具应该引入 OkHttp 的传递依赖项 Okio 和 Kotlin-stdlib。从这个堆栈跟踪看来,Kotlin stdlib 要么已经过时,要么不存在?更新它,这个崩溃应该得到修复。

关于okhttp - okhttp 和 minio 3.x 包的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70777182/

相关文章:

java - 如何用okhttp关闭HTTP连接?

java - 当我尝试记录网络响应时,OKHttp 抛出非法状态异常

java - 如何为证书固定预先确定 OkHTTP sha1 哈希?

python - 从我的 Django 应用程序拒绝连接到 Minio Docker 实例

minio - minio上传成功后如何获取文件链接

docker - 我可以禁用Minio Web GUI吗?

java - 没有从 Retrofit/Android/发送 HTTP 请求

android - 首先叫什么 - 拦截器或验证器? OkHttp,改造

kubernetes - 带有 minio-service 的 kubernetes 上的 gitlab-ci 缓存不再工作

image - 用minio上传图像缓冲区