文章目录

  • 1. 复现问题
  • 2. 分析问题
  • 3. 解决问题

1. 复现问题

今天在启动spring boot项目时,出现如下错误:

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'redisConnectionFactory' defined in class path resource [org/springframework/boot/autoconfigure/data/redis/LettuceConnectionConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory]: Factory method 'redisConnectionFactory' threw exception; nested exception is java.lang.NoClassDefFoundError: org/apache/commons/pool2/impl/GenericObjectPoolConfigat org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:658)at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:638)at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1334)at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1177)at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:564)at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:524)at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335)at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234)at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333)at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208)at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:944)at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:918)at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:583)at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:145)at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:758)at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:438)at org.springframework.boot.SpringApplication.run(SpringApplication.java:337)at org.springframework.boot.SpringApplication.run(SpringApplication.java:1336)at org.springframework.boot.SpringApplication.run(SpringApplication.java:1325)at com.superjson.superjsonmanager.SuperJsonManagerApplication.main(SuperJsonManagerApplication.java:51)
Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory]: Factory method 'redisConnectionFactory' threw exception; nested exception is java.lang.NoClassDefFoundError: org/apache/commons/pool2/impl/GenericObjectPoolConfigat org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:185)at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:653)... 19 common frames omitted
Caused by: java.lang.NoClassDefFoundError: org/apache/commons/pool2/impl/GenericObjectPoolConfigat org.springframework.data.redis.connection.lettuce.LettucePoolingClientConfiguration$LettucePoolingClientConfigurationBuilder.<init>(LettucePoolingClientConfiguration.java:94)at org.springframework.data.redis.connection.lettuce.LettucePoolingClientConfiguration.builder(LettucePoolingClientConfiguration.java:51)at org.springframework.boot.autoconfigure.data.redis.LettuceConnectionConfiguration$PoolBuilderFactory.createBuilder(LettuceConnectionConfiguration.java:172)at org.springframework.boot.autoconfigure.data.redis.LettuceConnectionConfiguration.createBuilder(LettuceConnectionConfiguration.java:110)at org.springframework.boot.autoconfigure.data.redis.LettuceConnectionConfiguration.getLettuceClientConfiguration(LettuceConnectionConfiguration.java:95)at org.springframework.boot.autoconfigure.data.redis.LettuceConnectionConfiguration.redisConnectionFactory(LettuceConnectionConfiguration.java:77)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)at java.lang.reflect.Method.invoke(Method.java:498)at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:154)... 20 common frames omitted
Caused by: java.lang.ClassNotFoundException: org.apache.commons.pool2.impl.GenericObjectPoolConfigat java.net.URLClassLoader.findClass(URLClassLoader.java:381)at java.lang.ClassLoader.loadClass(ClassLoader.java:424)at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)at java.lang.ClassLoader.loadClass(ClassLoader.java:357)... 31 common frames omittedDisconnected from the target VM, address: '127.0.0.1:62013', transport: 'socket'Process finished with exit code 1

Error creating bean with name 'redisConnectionFactory' defined in class path resource这个问题,即无法创建redis连接池。

2. 分析问题

导致上述的错误,是不是我的redis配置有问题,还是没有引入redis依赖包呢,于是做如下分析。

  1. 查看redis配置
spring:# 需要将其设置为always,彩色打印日志output:ansi:enabled: alwaysredis:database: 0host: 127.0.0.1lettuce:pool:max-active: 8max-idle: 10max-wait: 1msmin-idle: 5shutdown-timeout: 100msport: 6379

配置没有问题。

  1. 查看redis依赖
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>

依然没有问题。

  1. 继续分析错误日志,看到最后发现报了这个错误,如下图所示:

java.lang.ClassNotFoundException: org.apache.commons.pool2.impl.GenericObjectPoolConfig,找不到GenericObjectPoolConfig这个类,原因只有没配置这个类的依赖。

3. 解决问题

既然没有引入redis的相关依赖,那就引入如下依赖即可:

<!-- properties中增加redisCommonsPool.version,便于dependncy调用 -->
<properties><java.version>1.8</java.version><redisCommonsPool.version>2.11.1</redisCommonsPool.version>
</properties><!-- 引入redis连接池的依赖 -->
<dependency><groupId>org.apache.commons</groupId><artifactId>commons-pool2</artifactId><version>${redisCommonsPool.version}</version>
</dependency>

为什么需要这个依赖?因为我在yml文件中配置了redis的连接池,而连接池需要使用这个依赖。

解决Error creating bean with name ‘redisConnectionFactory‘ defined in class path resource...问题相关推荐

  1. Error creating bean with name ‘redisConnectionFactory‘ defined in class path resource

    1.问题描述 在redis整合springcache的时候一直报错. 按照信息找的发生问题的部分: @Configuration @EnableCaching public class RedisCo ...

  2. 解决 Error creating bean with name ‘dataSource‘ defined in class path resource 问题

    报错如下: java.lang.IllegalStateException: Failed to load ApplicationContextat org.springframework.test. ...

  3. 解决Error creating bean with name xxx defined in class path resource [applicationContext.xml]错误

    今天使用基于MapperFactoryBean来实现MyBatis与Spring的整合,使用Mapper接口编程,一直报一个错误,调试了很久 org.springframework.beans.fac ...

  4. 记一次SpringBoot操作redis报错 Error creating bean with name ‘dataSource‘ defined in class path resource解决方法

    代码块 以下为Springboot操作Redis一些简单的测试代码 maven依赖 <dependency><groupId>org.springframework.boot& ...

  5. Error creating bean with name ‘dataSource‘ defined in class path resource解决

    报错信息 ERROR 3592 - [ restartedMain] o.s.boot.SpringApplication : Application run failed org.springfra ...

  6. 启动springboot报错Error creating bean with name 'dataSource' defined in class path resource

    2019独角兽企业重金招聘Python工程师标准>>> 启动springboot报错Error creating bean with name 'dataSource' define ...

  7. Meavn 搭建项目遇到Error creating bean with name 'sessionFactory' defined in class path resource...

    Error creating bean with name 'sessionFactory' defined in class path resource .nested exception is j ...

  8. Error creating bean with name ‘sqlSessionFactory‘ defined in class path resource [applicationContext

    学习spring框架时遇到一个问题,找了很久. 记录一个错误, D:\Java\jdk-14.0.2\bin\java.exe -ea -Didea.test.cyclic.buffer.size=1 ...

  9. 【J】BeanCreationException: Error creating bean with name 'shiroFilter' defined in class path resource

    在做SSM博客系统的时候遇到以下报错:org.springframework.beans.factory.BeanCreationException: Error creating bean with ...

最新文章

  1. 如何在pandas中使用loc、iloc函数进行数据索引
  2. 一次expdp 错误的分析处理
  3. 已知旋转矩阵求角度_如何推导旋转矩阵
  4. Your PC needs to be repaired
  5. postgresql修炼之道_PostgreSQL的TOAST技术
  6. org.apache.commons.io如何使用
  7. Python 和curl 调用sendcloud发送邮件
  8. 通过PHP的Curl函数模拟Post获取内容
  9. 给自己一个没有退路的悬崖
  10. iOS开发之CoreSpotlight框架的应用
  11. 活动 | 腾讯×Nature Research:42问AI与机器人的未来
  12. oracle中cube的作用,Oraclerollup和cube分析
  13. 【Tensorflow教程笔记】使用 TPU 训练 TensorFlow 模型
  14. The Economist 《经济学人》常用词汇总结
  15. esp32-Arduino开发学习
  16. 错误:没有找到合适的设备:没有找到可用于链接System eth0 的设备
  17. 基于多视图几何的三维重建
  18. mac python3 sns UserWarning: findfont: Font family ['SimHei'] not found
  19. 北航学计算机和学两航,“国防七子”院校不仅实力超群,还很低调,你知道的有几所?...
  20. 財智V6.0(完美破解序列号特别版)

热门文章

  1. SEED-RL安装教程
  2. 帕德逼近matlab算法,帕德逼近算法.doc
  3. 【转】IOS数据库操作SQLite3使用详解
  4. 如何把FLAC音频转换成MP3格式
  5. C语言openssl aes-128-ecb加解密
  6. Mixly按键控制LED灯
  7. ssh服务器配置以及密匙登录
  8. 在iphone中添加日历库kal
  9. 蓝牙技术|防丢背包获奖,Find My产品受追捧
  10. 黑群晖 无法关机_教你无U盘引导实现黑群晖6.1.3 15152,打造属于自己的私人云空间...