创建名称为'... RedisHttpSessionConfiguration'的bean时出错:初始化bean失败

时间:2019-06-30 08:05:50

标签: java spring spring-boot redis

我正在使用Redis并创建了HttpSessionConfig文件。这是我在

中的代码

HttpSessionConfig.java

@EnableRedisHttpSession
public class HttpSessionConfig {

    @Bean
    public LettuceConnectionFactory connectionFactory() {

        return new LettuceConnectionFactory();
    }

    @Bean
    public HttpSessionIdResolver httpSessionStrategy() {
        return HeaderHttpSessionIdResolver.authenticationInfo();
    }

}

这是我的pom.xml文件:

    <!-- Redis -->
    <dependency>
        <groupId>org.springframework.session</groupId>
        <artifactId>spring-session-data-redis</artifactId>
    </dependency>

    <dependency>
        <groupId>biz.paluch.redis</groupId>
        <artifactId>lettuce</artifactId>
        <version>4.3.1.Final</version>
    </dependency>

但是我得到了错误:

Error creating bean with name 'org.springframework.session.data.redis.config.annotation.web.http.RedisHttpSessionConfiguration':
     

bean初始化失败

更多跟踪:

  

原因:   org.springframework.beans.factory.UnsatisfiedDependencyException:   创建名称为“ sessionRepositoryFilterRegistration”的bean时出错   在类路径资源中定义   [org / springframework / boot / autoconfigure / session / SessionRepositoryFilterConfiguration.class]:   通过方法表达的不满意依赖性   'sessionRepositoryFilterRegistration'参数1;嵌套异常为   org.springframework.beans.factory.BeanCreationException:错误   用名字创建bean   'org.springframework.session.data.redis.config.annotation.web.http.RedisHttpSessionConfiguration':   Bean初始化失败;嵌套异常为   org.springframework.beans.factory.BeanCreationException:错误   在类路径中创建名称为“ connectionFactory”的bean   资源[bookstore / config / HttpSessionConfig.class]:Bean   通过工厂方法实例化失败;嵌套异常为   org.springframework.beans.BeanInstantiationException:失败   实例化   [org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory]:   工厂方法“ connectionFactory”抛出异常;嵌套异常   是java.lang.NoClassDefFoundError:io / lettuce / core / KeyValue

Caused by: org.springframework.beans.factory.BeanCreationException: Error
     

使用名称创建bean   'org.springframework.session.data.redis.config.annotation.web.http.RedisHttpSessionConfiguration':   Bean初始化失败;嵌套异常为   org.springframework.beans.factory.BeanCreationException:错误   在类路径中创建名称为“ connectionFactory”的bean   资源[bookstore / config / HttpSessionConfig.class]:Bean   通过工厂方法实例化失败;嵌套异常为   org.springframework.beans.BeanInstantiationException:失败   实例化   [org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory]:   工厂方法“ connectionFactory”抛出异常;嵌套异常   是java.lang.NoClassDefFoundError:io / lettuce / core / KeyValue

任何人都知道如何解决它?

1 个答案:

答案 0 :(得分:1)

在堆栈跟踪中,错误表明

  

java.lang.NoClassDefFoundError:io / lettuce / core / KeyValue

因此在pom.xml中手动添加依赖项io.lettuce

<dependency>
    <groupId>io.lettuce</groupId>
    <artifactId>lettuce-core</artifactId>
    <version>5.1.7.RELEASE</version>
</dependency>