SpringBoot整合MinIO时OkHttp与Kotlin版本冲突的深度排查指南
那天下午,当我将MinIO 8.5.2引入SpringBoot项目后,控制台突然抛出一连串令人困惑的堆栈信息。作为一名有三年经验的Java开发者,我本以为这只是又一个简单的依赖冲突问题,没想到却开启了一场持续6小时的"侦探之旅"。本文将完整还原这次排查过程,不仅分享最终解决方案,更重要的是展示如何系统性地分析和解决这类复杂的依赖冲突问题。
1. 初识异常:从错误堆栈开始的困惑
项目引入MinIO依赖后,启动时立即抛出以下关键异常:
Caused by: java.lang.RuntimeException: Unsupported OkHttp library found. Must use okhttp >= 4.8.1
at io.minio.S3Base.<clinit>(S3Base.java:106)
...
Caused by: java.lang.NoSuchMethodError: kotlin.collections.ArraysKt.copyInto([B[BIII)[B
at okio.Segment.writeTo(Segment.kt:169)
第一反应是查看MinIO官方文档,确认其要求的OkHttp最低版本确实是4.8.1。于是检查项目中现有的OkHttp版本:
<dependency>
<groupId>com.squareup.okhttp3</groupId>
<artifactId>okhttp</artifactId>
<version>3.14.9</version>
</dependency>
显然,3.14.9远低于要求版本。于是立即升级到4.8.1,但令人意外的是,同样的错误依然存在。


1345

被折叠的 条评论
为什么被折叠?



