MinIo 的操作与使用

文章目录

      • [一、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 包。

相关推荐
Slow菜鸟5 天前
MinIO教程(三)| Spring Boot 集成 MinIO 高级篇(分片上传、加密与优化)
spring boot·minio
Slow菜鸟5 天前
MinIO教程(一)| MinIO的安装(Windows)
minio
Slow菜鸟10 天前
SpringBoot教程(三十三)| SpringBoot集成MinIO
minio
像风一样自由202012 天前
Redis与MinIO:两大存储利器的区别与联系
数据库·redis·缓存·minio
28的博客12 天前
使用 Docker 快速部署 MinIO 文件存储服务
对象存储·存储桶
爱刘温柔的小猪13 天前
企业级混合存储架构:MySQL + MinIO 混合存储实践
数据库·mysql·架构·对象存储
chen_note19 天前
Ceph常用的三种存储操作
ceph·对象存储·minio·块存储·文件存储
橙-极纪元19 天前
文件存储服务有哪些?他们优缺点分别是什么?FastDFS、MinIO、Ceph、HDFS、MooseFS、TFS、七牛云、阿里云 OSS
hdfs·minio·七牛云·tfs·fastdfs·阿里云 oss·文件存储服务
分布式存储与RustFS1 个月前
RustFS:MinIO的“平替”还是“乱杀”?
python·rust·对象存储·minio·存储·企业存储·rustfs
magic334165631 个月前
Springboot整合MinIO文件服务(windows版本)
windows·spring boot·后端·minio·文件对象存储