解决springboot启动时minio报错的问题(注入bean时报错)

这篇具有很好参考价值的文章主要介绍了解决springboot启动时minio报错的问题(注入bean时报错)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

最近在将原有的单体springboot项目搬迁至springcloud的时候出现了启动项目minio报错的问题。
Error creating bean with name ‘minioClient’ defined in class path resource [com/ruoyi/clockin_v2/config/MinioConfig.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [io.minio.MinioClient]: Factory method ‘minioClient’ threw exception; nested exception is java.lang.NoSuchFieldError: Companion
解决springboot启动时minio报错的问题(注入bean时报错),okhttp,minio,springboot,spring boot,java之前在启动单体springboot的时候并未出现这个问题,经过bean注册的过程发现是在使用okhttp3的HttpUrl.parse(url)的时候报的错
(通过代码的追踪发现是在执行endpoint的时候调用如下的HttpUrl.parse(endpoint);报错了)

 @Bean
 public MinioClient minioClient()
 {
     HttpUrl parse = HttpUrl.parse(url);
     System.out.println(parse.url());
     return MinioClient.builder().endpoint(url).credentials(accessKey, secretKey).build();
 }
通过代码的追踪发现是在执行endpoint的时候调用如下的HttpUrl.parse(endpoint);报错了。所以可以确定是okhttp出现的问题

private HttpUrl getBaseUrl(String endpoint) {
   this.validateNotEmptyString(endpoint, "endpoint");
    HttpUrl url = HttpUrl.parse(endpoint);
    if (url == null) {
        this.validateHostnameOrIPAddress(endpoint);
        url = (new HttpUrl.Builder()).scheme("https").host(endpoint).build();
    } else {
        this.validateUrl(url);
    }

    return url;
}

然后通过maven依赖可以看到minio里面okhttp版本为4.8.1,但是实际的版本是使用的4.9.3,这是因为项目的springboot依赖的是okhttp的4.9.3的版本
解决springboot启动时minio报错的问题(注入bean时报错),okhttp,minio,springboot,spring boot,java
解决springboot启动时minio报错的问题(注入bean时报错),okhttp,minio,springboot,spring boot,java

通过以前正常启动项目的追踪,发现minio的正常启动的okhttp的版本为3.14.9
解决springboot启动时minio报错的问题(注入bean时报错),okhttp,minio,springboot,spring boot,java
解决方式
将minio的依赖版本设置为3.14.9即可文章来源地址https://www.toymoban.com/news/detail-616814.html

 <!-- minio工具包 -->
 <dependency>
        <groupId>io.minio</groupId>
        <artifactId>minio</artifactId>
        <version>${minio.version}</version>
    </dependency>
    <!-- 解决minio使用okhttp高版本的时候注入bean实例报错的问题 -->
    <dependency>
        <groupId>com.squareup.okhttp3</groupId>
        <artifactId>okhttp</artifactId>
        <version>3.14.9</version>
        <scope>compile</scope>
    </dependency>

到了这里,关于解决springboot启动时minio报错的问题(注入bean时报错)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Fooocus启动时modules报错的解决方法

    原理:是由于其他程序的安装导致modules的版本不对,先卸载现有版本,再运行run.bat让其自动安装响应的modules版本。 1、cmd运行windows dos终端。 2、将Fooocus_win64_1-1-1035文件夹备份,rename为Fooocus_win64_1-1-1035backup文件夹。 3、解压Fooocus_win64_1-1-1035.rar到c:myappFooocus_win64_1-1-1035文件夹

    2024年02月11日
    浏览(72)
  • 启动spring boot项目时加载配置文件报错的问题

    最近把电脑重置了一下,然后重新安装各种开发软件,从gitee拉项目到本地运行时居然启动报错了: Failed to load property source from \\\'file:/D:/program/IdeaProjects/layui/target/classes/application.yml\\\' 这是加载配置文件的时候失败了,提示一堆错误信息,但是没有任何实质性的帮助。 导致种情况

    2024年02月11日
    浏览(34)
  • Springboot启动出现A component required a bean of type ‘com.xxx‘ that could not问题解决

    今日写一个websocket小demo,启动项目时出现错误如下图 检查也没发现漏写注解,思考片刻后突然想起springboot扫描的范围是与启动类同级别的包-就是com.huang.demo.ssm目录下所有注解bean都被扫描,那么ws包里面的bean不在ssm这个路径下,所以导致springboot启动时扫描不到。最后把ws包

    2024年02月11日
    浏览(39)
  • macbook m1 nacos集群启动失败报错的解决办法

    问题来源:(黑马springcloud学习过程)P29-06-Nacos配置管理-nacos集群搭建 问题描述:详情见nacos.log和start.out WebServerException: Unable to start embedded Tomcat (mach-o file, but is an incompatible architecture (have ‘x86_64’, need ‘arm64’)) 6969.jnilib’ (no such file), 问题原因:电脑本身是arm的jdk版本,但是

    2024年04月26日
    浏览(30)
  • 在Docker中使用systemctl启动服务报错的解决办法

    目录 一、问题背景      二、解决办法         在Docker中通过systemctl 启动服务的时候,总是报“ Failed to get D-Bus connection: Operation not permitted ”这样的错误提示,如下所示:         [root@localhost ~]# systemctl start sshd         Failed to get D-Bus connection: Operation not permitt

    2024年02月15日
    浏览(35)
  • 记录一次springboot+netty+websocket报错的问题

    报错内容 io.netty.handler.codec.htttp.websocketx.textwebsocketframe can not be cast to io.netty.handler.codec.http.FullHttpRequest; 核心问题 springboot项目设定了项目访问前缀,/project/ 而我只给websocket设定了单独的访问路径 pipeline.addLast(new WebSocketServerProtocolHandler(“/msg”)); 前台初始化websocket的路径是

    2024年02月15日
    浏览(32)
  • springboot启动的时候报错:Error creating bean with name ‘********‘

    今天写了一个自定义sql查询,在Test文件夹测试的时候没有问题,但是但启动项目的时候报错,报错图片如下: 检查了很多地方,发现不是mapperscan,或者是配置档命名空间的问题,而是pom.xml里面的一个低级错误 这段代码在springboot的test文件夹里面编写,因为使用的是idea,当

    2024年02月06日
    浏览(41)
  • 解决Pycharm中安装Pygame库报错的问题

    近期,我遇到了在Pycharm中安装Pygame库时出现的报错问题。在解决这个问题之前,我忽视了报错信息中提供的关键信息。通过仔细阅读报错信息并进行一些调查,我成功解决了这个问题。在本文中,我将分享我所遇到的问题以及解决方案。 首先,让我们来看看我所遇到的报错

    2024年02月04日
    浏览(36)
  • 解决selenium使用webdriver.Chrome()报错的问题

    谷歌驱动下载地址: https://sites.google.com/a/chromium.org/chromedriver/home   运行成功(打开浏览器显示chrome正在受自动化软件测试的控制就代表成功):  找到def __init__(self, executable_path=\\\"chromedriver\\\", port=0, 修改executable_path=\\\"chromedriver\\\" 为executable_path=\\\"chromedriver驱动的路径\\\"   修改成功后

    2024年02月11日
    浏览(43)
  • 解决启动SpringBoot项目报错:Unsatisfied dependency expressed through field ‘baseMapper‘.....问题

    Unsatisfied dependency expressed through field \\\'baseMapper\\\',XXXMapper包扫描不到 当你看到这样的报错,你会怎么解决呢: Unsatisfied dependency expressed through field \\\'baseMapper\\\'; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type \\\'com.memory.memoryiconbackend.mapper.Wallpape

    2024年02月08日
    浏览(53)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包