使用Minio异常解决Caused by: java.lang.NoClassDefFoundError: io/minio/MinioClient

在尝试使用Java 8.3.3版本的Minio SDK接入服务时,遇到了`NoClassDefFoundError: io/minio/MinioClient`的问题。经过排查,发现是因为Minio内部依赖的okhttp版本不兼容。为解决此问题,排除了Minio中自带的okhttp依赖,并引入了更高版本的okhttp(4.9.0),最终成功解决问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

起因

今天使用java接入Minio服务,参考官方文档SDK:
https://docs.min.io/docs/java-client-quickstart-guide.html
和当时官方依赖版本一致:8.3.3

<dependency>
    <groupId>io.minio</groupId>
    <artifactId>minio</artifactId>
    <version>8.3.3</version>
</dependency>
报错如下:

Caused by: java.lang.NoClassDefFoundError: io/minio/MinioClient

当时已反复确认依赖已经引入,奇怪为什么会报找不到类

接着单独起了一个环境完全根据官方文件代码操作,最后报了个其他错误:
Caused by: java.lang.RuntimeException: Unsupported OkHttp library found. Must use okhttp >= 4.8.1

我…

接着把用Maven helper工具把minio里面的okhttp包快速排掉
重新引入高版本的,成功解决

<dependency>
    <groupId>com.squareup.okhttp3</groupId>
    <artifactId>okhttp</artifactId>
    <version>4.9.0</version>
</dependency>
注:minio排包
<!--minio服务-->
<dependency>
   <groupId>io.minio</groupId>
   <artifactId>minio</artifactId>
   <version>8.3.3</version>
   <exclusions>
       <exclusion>
           <artifactId>okhttp</artifactId>
           <groupId>com.squareup.okhttp3</groupId>
       </exclusion>
   </exclusions>
</dependency>
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值