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

前言:html

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

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

1、问题描述

启动 Application 类报错:github

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

2、问题分析

以下图所示:根据报错信息发现,并不缺乏 jar 包,报错提示里所须要的类也有,不知道为何会报错。微信

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

3、解决办法

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

**二、**因为没法从中央仓库中下载 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 。spring-boot

**三、**采用 Invalidate and Restart 的方式来重启 idea ,这样可让 idea 从新加载项目。测试

**四、**再从新运行 FastDFS 项目,启动成功!

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

4、总结

一、问题小结

关于这个问题我进行了反复测试,假如本身有 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 仓库中。

二、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 。


原文出处:https://www.cnblogs.com/createboke/p/11581869.html

相关文章
相关标签/搜索