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 包。

相关推荐
知行EDI1 天前
知行之桥 S3 端口或归档中配置阿里云 OSS 使用指南
阿里云·edi·oss·s3
分布式存储与RustFS2 天前
RustFS 多协议接入全景:S3 之外,Swift/Keystone 与 SFTP/FTPS 怎么选
云原生·开源·对象存储·分布式存储·s3·rustfs·性能基准
分布式存储与RustFS2 天前
在 Kubernetes 上用 RustFS Operator 给 Tenant 开 KMS 加密:spec.encryption 实战
云原生·开源·对象存储·分布式存储·s3·rustfs·性能基准
分布式存储与RustFS3 天前
RustFS 1.0 GA 前的生产验收清单:从 rc.1 到 GA 该准备什么
云原生·开源·对象存储·分布式存储·s3·rustfs·性能基准
分布式存储与RustFS4 天前
RustFS 1.0.0-rc.5 发布:GA 前的最后一次大版本打磨
云原生·开源·对象存储·分布式存储·s3·rustfs·性能基准
凤山老林5 天前
企业级文件服务中台:Spring Boot 集成 MinIO 实现分片存储、生命周期管理与多租户隔离
java·spring boot·后端·minio·文件服务
分布式存储与RustFS5 天前
把 RustFS 当 ClickHouse 的 S3 存储盘:冷热分层落对象存储
云原生·开源·对象存储·分布式存储·s3·rustfs·性能基准
SomeBottle6 天前
【小记】图片托管从又拍云迁移到腾讯云 EO + COS(兼容图片处理参数)
python·计算机网络·学习笔记·对象存储·cdn·折腾
分布式存储与RustFS9 天前
用 RustFS 原生 CLI `rc` 管对象存储:从 alias 到 cp 的完整玩法
云原生·开源·对象存储·分布式存储·s3·rustfs·性能基准
分布式存储与RustFS9 天前
用 RPM/DEB 包在 Linux 上安装 RustFS:生产落地第一步
云原生·开源·对象存储·分布式存储·s3·rustfs·性能基准