前言:

今天接手了同事之前做的一个小项目,里面涉及到了 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 。


实操:Could not autowire No beans of 'FastDFS Client' type found 的解决方法的更多相关文章

  1. 出现 org.springframework.beans.factory.BeanCreationException 异常的原因及解决方法

    1 异常描述 在从 SVN 检出项目并配置完成后,启动 Tomcat 服务器,报出如下错误: 2 异常原因 通过观察上图中被标记出来的异常信息,咱们可以知道 org.springframework.b ...

  2. Python关于类的实操

    实操一:总结 1.什么是绑定到对象的方法,如何定义,如何调用,给谁用?有什么特性? 2.什么是绑定到类的方法,如何定义,如何调用,给谁用?有什么特性? 3.什么是解除绑定的函数,如何定义,如何调用,给 ...

  3. 第十章 Fisco Bcos 权限控制下的数据上链实操演练

    一.目的 前面已经完成fisco bcos 相关底层搭建.sdk使用.控制台.webase中间件平台等系列实战开发, 本次进行最后一个部分,体系化管理区块链底层,建立有序的底层控管制度,实现权限化管理 ...

  4. ABP入门系列(1)——学习Abp框架之实操演练

    作为.Net工地搬砖长工一名,一直致力于挖坑(Bug)填坑(Debug),但技术却不见长进.也曾热情于新技术的学习,憧憬过成为技术大拿.从前端到后端,从bootstrap到javascript,从py ...

  5. 号外号外:9月13号《Speed-BI云平台案例实操--十分钟做报表》开讲了

    引言:如何快速分析纷繁复杂的数据?如何快速做出老板满意的报表?如何快速将Speed-BI云平台运用到实际场景中?         本课程将通过各行各业案例背景,将Speed-BI云平台运用到实际场景中 ...

  6. IntelliJ Idea取消Could not autowire. No beans of 'xxxx' type found的错误提示

    1.问题描述 在Idea的spring工程里,经常会遇到Could not autowire. No beans of 'xxxx' type found的错误提示.但程序的编译和运行都是没有问题的, ...

  7. Mysql MHA(GTID)配置(实操)

    实现环境 centos6.7 MYSQL5.6.36 主:192.168.1.191 从1:192.168.1.145 从2:192.168.1.146 监测:放在从2上 192.168.1.146 ...

  8. Selenium之unittest测试框架详谈及实操

    申明:本文是基于python3.x及selenium3.x. unittest,也可以称为PyUnit,可以用来创建全面的测试套件,可以用于单元自动化测试(模块).功能自动化测试(UI)等等. 官方文 ...

  9. unittest测试框架详谈及实操(二)

    类级别的setUp()方法与tearDown()方法 在实操(一)的例子中,通过setUp()方法为每个测试方法都创建了一个Chrome实例,并且在每个测试方法执行结束后要关闭实例.是不是觉得有个多余 ...

随机推荐

  1. docker方式部署elk日志搜索平台

    Docker部署ELKF操作文档 前提介绍 1.之前搭建elk+f+k使用原生系统软件安装方式,由于docker镜像日趋成熟,docker官网和elastic官网都有相关镜像和各自安装文档可供参考,各 ...

  2. 解决Selenium弹出新页面无法定位元素问题(Unable to locate element)

    Python 2.7 IDE Pycharm 5.0.3 环境细节详见Python+Selenium+PIL+Tesseract真正自动识别验证码进行一键登录 对于同一页面无法定位元素问题请见姊妹篇解 ...

  3. native-echarts 问题总结

    一.当width 和 height 设置的不对的时候,会出现边框线如图所示: 解决办法:Echarts/index.js文件中 <WebView ref="chart" sc ...

  4. 高级脚本进阶—使用case的多功能选择性脚本

    应用场景: 在应用脚本决解实际的运维问题时,单功能脚本有很多的不同应用环境,如不同的运行环境,不同的系统版本等,这时,就需要对脚本的功能进行选择,一个脚本实现多功能多版本系统的维护,以减少沟通成本,而 ...

  5. 根据屏幕分辨率判断当前手机型号(swift4.1)

    import UIKit class ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoa ...

  6. Selenium3 + Python3自动化测试系列九——cookie操作

    cookie操作 一.Cookie操作 WebDriver提供了操作Cookie的相关方法,可以读取.添加和删除cookie信息. 使用方法: 1:get_cookies() ,获取cookie信息 ...

  7. Dictionary的用法及用途

    Dictionary<string, string>是一个泛型 他本身有集合的功能有时候可以把它看成数组 他的结构是这样的:Dictionary<[key], [value]> ...

  8. SpringCloud(二)- 服务注册与发现Eureka

    离上一篇微服务的基本概念已经过去了几个月,在写那篇博客之前,自己还并未真正的使用微服务架构,很多理解还存在概念上.后面换了公司,新公司既用了SpringCloud也用了Dubbo+Zookeeper, ...

  9. Java 从入门到进阶之路(五)

    之前的文章我们介绍了 Java 的循环结构,本章我们来看一下 Java 的数组 数组对于每一门编程语言来说都是重要的数据结构之一,当然不同语言对数组的实现及处理也不尽相同. 数组 - 相同数据类型的元 ...

  10. codeforces 245 D. Restoring Table(位运算+思维)

    题目链接:http://codeforces.com/contest/245/problem/D 题意:给出一个矩阵b,b[i][j]=a[i]&a[j],b[i][i]=-1.然后求a[i] ...