实操:No beans of 'FastDFS Client' type found 的解决方法

每一个成功人士的背后,必定曾经做出过勇敢而又孤独的决定。

放弃不难,但坚持很酷~

前言:

今天接手了同事之前做的一个小项目,里面涉及到了 FastDFS 的使用。但是当我在本地运行项目的时候,却报了 Could not autowire No beans of 'FastDFS Client' type found 相关的错误。

接下来就详细描述一下 FastDFS 报错的解决方法。

一、问题描述

启动 Application 类报错:

required a bean of type 'org.springframework.fasfdfs.server.FastDFSClient' that could not be found.

二、问题分析

如下图所示:根据报错信息发现,并不缺少 jar 包,报错提示里所需要的类也有,不知道为什么会报错。

综上所述,再结合同事可以通过 idea 来正常运行,所以怀疑是 FastDFS 相关 jar 包可能存在依赖冲突。

三、解决办法

1、首先将 Maven 仓库中 FastDFS 相关 jar 包删除,共两个,分别是:fastdfs-client-java-1.27-SNAPSHOT.jar 和 spring-boot-starter-fastdfs-1.0-SNAPSHOT.jar ,其中后者依赖前者。

2、由于无法从中央仓库中下载 FastDFS 的上述 jar 包,所以需要手动构建源码生成 jar 文件。下载 fastdfs-client-java 和 spring-boot-starter-fastdfs 源码到本地,配置好源码项目的 Maven 地址后,执行 mvn clean install 。执行成功后,对应的 Maven 仓库中就自动有了上述两个 jar 包。需要特别说明的是:需要先打  fastdfs-client-java 的 jar 包,因为 spring-boot-starter-fastdfs 项目打包依赖  fastdfs-client-java-1.27-SNAPSHOT.jar 。

3、采用 Invalidate and Restart 的方式来重启 idea ,这样可以让 idea 重新加载项目。

4、再重新运行 FastDFS 项目,启动成功!

关于 fastdfs-client-java 和 spring-boot-starter-fastdfs 的源码程序我已经上传到了百度云,可私信本微信公众号【大数据实战演练】回复 190917 获取,或者自己在 github 等开源社区上找,都可以。

四、总结

1、问题小结

关于这个问题我进行了反复测试,假如自己有 fastdfs-client-java-1.27-SNAPSHOT.jar 和 spring-boot-starter-fastdfs-1.0-SNAPSHOT.jar 包,采用

mvn install:install-file -Dfile="xxx.jar" -DgroupId=xxx -DartifactId=xxx -Dversion=xxx -Dpackaging=jar

的形式将本地 jar 包导入到 Maven 仓库中。虽然可以成功导入,但启动项目依旧会报上述错误,所以最稳妥的方式还是下载源码并打包,通过这样的方式将需要的 jar 包导入到 Maven 仓库中。

2、maven 相关命令简介
  • mvn clean : 清空编译文件。

  • mvn test : 运行测试用例。

  • mvn compile : 编译项目。

  • mvn package : 打包项目。

  • mvn install : 安装 jar 包到 Maven 的本地仓库中。

注意点:执行 mvn  test ,会先执行 mvn compile ;执行 mvn package ,会先执行 mvn compile 和 mvn test ;执行 mvn install ,会先执行 mvn package 。



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

create17

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值