【MinIO】SpringBoot引入MinIO依赖遇到的一些问题:okhttp、kotlib-stdlib

3 篇文章 0 订阅
3 篇文章 0 订阅

centos上docker安装MinIO参考:https://blog.csdn.net/u014698745/article/details/122025423

参考官方文档SDK:https://docs.min.io/docs/java-client-quickstart-guide.html

MinIO Java SDK is Simple Storage Service (aka S3) client to perform bucket and object operations to any Amazon S3 compatible object storage service.

MinIO依赖jar包下载地址:Central Repository: io/minio/minio

JDK最低要求:Java 1.8 或更高版本。

【异常1】maven仓库MinIO 8.3.4下载很慢

解决办法:maven设置依赖下载地址

<repositories>
    <repository>
        <id>public</id>
        <name>aliyun nexus</name>
        <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
        <releases>
            <enabled>true</enabled>
        </releases>
    </repository>
</repositories>

<pluginRepositories>
    <pluginRepository>
        <id>public</id>
        <name>aliyun nexus</name>
        <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
        <releases>
            <enabled>true</enabled>
        </releases>
        <snapshots>
            <enabled>false</enabled>
        </snapshots>
    </pluginRepository>
</pluginRepositories>

【异常2】Caused by: java.lang.RuntimeException: Unsupported OkHttp library found. Must use okhttp >= 4.8

解决办法:maven引入minio排除okhttp依赖并添加高版本的okhttp依赖,如okhttp 4.9.0

<!-- 对象存储 MinIO -->
<dependency>
    <groupId>io.minio</groupId>
    <artifactId>minio</artifactId>
    <version>8.3.4</version>
    <exclusions>
        <exclusion>
            <groupId>com.squareup.okhttp3</groupId>
            <artifactId>okhttp</artifactId>
        </exclusion>
    </exclusions>
</dependency>

<dependency>
    <groupId>com.squareup.okhttp3</groupId>
    <artifactId>okhttp</artifactId>
    <version>4.9.0</version>
</dependency>

【异常3】NoSuchMethodError kotlin.collections.ArraysKt.copyInto([B[BIII)[B

解决办法:指定kotlib-stdlib的版本

<!-- https://mvnrepository.com/artifact/org.jetbrains.kotlin/kotlin-stdlib -->
<dependency>
    <groupId>org.jetbrains.kotlin</groupId>
    <artifactId>kotlin-stdlib</artifactId>
    <version>1.3.70</version>
</dependency>
  • 9
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
你好!关于在Spring Boot中使用MinIO,你可以按照以下步骤进行操作: 1. 引入依赖:在`pom.xml`文件中添加MinIO依赖项。 ```xml <dependency> <groupId>io.minio</groupId> <artifactId>minio</artifactId> <version>RELEASE.2021-10-01T01-51-25Z</version> </dependency> ``` 2. 配置连接信息:在`application.properties`或`application.yml`文件中添加MinIO的连接信息。 ```yaml minio: url: http://localhost:9000 access-key: YOUR_ACCESS_KEY secret-key: YOUR_SECRET_KEY bucket-name: YOUR_BUCKET_NAME ``` 3. 创建配置类:创建一个配置类并添加相应的注解,用于初始化MinIO客户端。 ```java @Configuration @EnableConfigurationProperties(MinioProperties.class) public class MinioConfig { private final MinioProperties minioProperties; public MinioConfig(MinioProperties minioProperties) { this.minioProperties = minioProperties; } @Bean public MinioClient minioClient() { return MinioClient.builder() .endpoint(minioProperties.getUrl()) .credentials(minioProperties.getAccessKey(), minioProperties.getSecretKey()) .build(); } } ``` 4. 使用MinIO客户端:在需要使用MinIO的地方注入`MinioClient`,并调用相关方法操作MinIO服务。 ```java @Service public class MinioService { private final MinioClient minioClient; public MinioService(MinioClient minioClient) { this.minioClient = minioClient; } public void uploadFile(String bucketName, String objectName, String filePath) { try { minioClient.uploadObject(UploadObjectArgs.builder() .bucket(bucketName) .object(objectName) .filename(filePath) .build()); System.out.println("File uploaded successfully!"); } catch (Exception e) { e.printStackTrace(); } } // 其他操作方法... } ``` 这是一个基本的使用示例,你可以根据自己的需求进一步扩展和优化。希望对你有帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值