解决Error creating bean with name ‘redisConnectionFactory‘ defined in class path resource...问题
文章目录
- 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依赖包呢,于是做如下分析。
- 查看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
配置没有问题。
- 查看redis依赖
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
依然没有问题。
- 继续分析错误日志,看到最后发现报了这个错误,如下图所示:
即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...问题相关推荐
- Error creating bean with name ‘redisConnectionFactory‘ defined in class path resource
1.问题描述 在redis整合springcache的时候一直报错. 按照信息找的发生问题的部分: @Configuration @EnableCaching public class RedisCo ...
- 解决 Error creating bean with name ‘dataSource‘ defined in class path resource 问题
报错如下: java.lang.IllegalStateException: Failed to load ApplicationContextat org.springframework.test. ...
- 解决Error creating bean with name xxx defined in class path resource [applicationContext.xml]错误
今天使用基于MapperFactoryBean来实现MyBatis与Spring的整合,使用Mapper接口编程,一直报一个错误,调试了很久 org.springframework.beans.fac ...
- 记一次SpringBoot操作redis报错 Error creating bean with name ‘dataSource‘ defined in class path resource解决方法
代码块 以下为Springboot操作Redis一些简单的测试代码 maven依赖 <dependency><groupId>org.springframework.boot& ...
- Error creating bean with name ‘dataSource‘ defined in class path resource解决
报错信息 ERROR 3592 - [ restartedMain] o.s.boot.SpringApplication : Application run failed org.springfra ...
- 启动springboot报错Error creating bean with name 'dataSource' defined in class path resource
2019独角兽企业重金招聘Python工程师标准>>> 启动springboot报错Error creating bean with name 'dataSource' define ...
- 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 ...
- 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 ...
- 【J】BeanCreationException: Error creating bean with name 'shiroFilter' defined in class path resource
在做SSM博客系统的时候遇到以下报错:org.springframework.beans.factory.BeanCreationException: Error creating bean with ...
最新文章
- 如何在pandas中使用loc、iloc函数进行数据索引
- 一次expdp 错误的分析处理
- 已知旋转矩阵求角度_如何推导旋转矩阵
- Your PC needs to be repaired
- postgresql修炼之道_PostgreSQL的TOAST技术
- org.apache.commons.io如何使用
- Python 和curl 调用sendcloud发送邮件
- 通过PHP的Curl函数模拟Post获取内容
- 给自己一个没有退路的悬崖
- iOS开发之CoreSpotlight框架的应用
- 活动 | 腾讯×Nature Research:42问AI与机器人的未来
- oracle中cube的作用,Oraclerollup和cube分析
- 【Tensorflow教程笔记】使用 TPU 训练 TensorFlow 模型
- The Economist 《经济学人》常用词汇总结
- esp32-Arduino开发学习
- 错误:没有找到合适的设备:没有找到可用于链接System eth0 的设备
- 基于多视图几何的三维重建
- mac python3 sns UserWarning: findfont: Font family ['SimHei'] not found
- 北航学计算机和学两航,“国防七子”院校不仅实力超群,还很低调,你知道的有几所?...
- 財智V6.0(完美破解序列号特别版)