文章目录
-
-
- [一、Client 连通](#一、Client 连通)
-
- [1. SpringBoot 项目](#1. SpringBoot 项目)
- [2. 自己公司的 Maven 项目(非 SpringBoot 项目)](#2. 自己公司的 Maven 项目(非 SpringBoot 项目))
-
官方 API 文档:Documentation
官方中文文档:MinIO中文文档
一、Client 连通
Java 代码:
java
MinioClient minioClient =
MinioClient.builder()
.endpoint("http://192.168.110.110:9000")
.credentials("xiaoqiang", "heheda123")
.build();
System.out.println(minioClient);
// 检查桶是否存在
boolean found = minioClient.bucketExists(BucketExistsArgs.builder().bucket("test").build());
if (!found) {
// 创建桶
minioClient.makeBucket(MakeBucketArgs.builder().bucket("test").build());
}
//列出所有桶名
List<Bucket> buckets = minioClient.listBuckets();
for (Bucket i : buckets){
System.out.println(i.name());
}
Maven 引入:
xml
<!--此依赖为minio的服务依赖-->
<dependency>
<groupId>io.minio</groupId>
<artifactId>minio</artifactId>
<version>8.5.7</version>
</dependency>
报错:
xml
<dependency>
<groupId>io.minio</groupId>
<artifactId>minio</artifactId>
<version>8.5.2</version>
</dependency>
<!--或者-->
<dependency>
<groupId>io.minio</groupId>
<artifactId>minio</artifactId>
<version>8.4.5</version>
</dependency>
<!--或者-->
<dependency>
<groupId>io.minio</groupId>
<artifactId>minio</artifactId>
<version>8.3.7</version>
</dependency>
报错:
xml
<dependency>
<groupId>io.minio</groupId>
<artifactId>minio</artifactId>
<version>8.2.1</version>
</dependency>
<!--或者-->
<dependency>
<groupId>io.minio</groupId>
<artifactId>minio</artifactId>
<version>8.1.0</version>
</dependency>
<!--或者-->
<dependency>
<groupId>io.minio</groupId>
<artifactId>minio</artifactId>
<version>8.0.3</version>
</dependency>
报错:Exception in thread "main" java.lang.NoSuchMethodError: kotlin.collections.ArraysKt.copyInto([B[BIII)[B
尝试解决1:
结论:不好使。
尝试解决2:新建一个纯 Maven 项目。好使
接下来的解决思路:将项目中的依赖依次注释最终只留 Minio 的依赖,看到底是哪个引入的依赖和 Minio 的依赖有冲突。
1. SpringBoot 项目
最终发现是 spring-boot-starter-parent
的依赖导致的。
居然是 SpringBoot 的顶层依赖导致的,也是绝了。尝试了下低版本居然可以。
更高的版本居然也可以。
经测试,框起来的版本可以用。
2. 自己公司的 Maven 项目(非 SpringBoot 项目)
经排查,居然是 phoenix 的引入导致的。报错:Exception in thread "main" java.lang.NoSuchFieldError: Companion
而且通过 exclusion
排除该 jar 包的方式并不好使,可能得重新编译该 jar 包。