配置spring-session-data-redis后无法启动spring-boot应用程序

Ale*_*pov 5 spring-boot spring-session

spring-session-data-redis演示spring-boot项目中进行配置后,bootRun任务失败,并显示以下消息:

***************************
APPLICATION FAILED TO START
***************************

Description:

Parameter 0 of method redisTemplate in org.springframework.boot.autoconfigure.data.redis.RedisAutoConfiguration required a bean of type 'org.springframework.data.redis.connection.RedisConnectionFactory' that could not be found.
    - Bean method 'redisConnectionFactory' not loaded because @ConditionalOnClass did not find required classes 'org.apache.commons.pool2.impl.GenericObjectPool', 'redis.clients.jedis.Jedis'
    - Bean method 'redisConnectionFactory' not loaded because @ConditionalOnClass did not find required class 'io.lettuce.core.RedisClient'

Action:

Consider revisiting the entries above or defining a bean of type 'org.springframework.data.redis.connection.RedisConnectionFactory' in your configuration.
Run Code Online (Sandbox Code Playgroud)

我已经完成的工作(又称重现步骤):
1.使用Spring Initializr创建了一个[带有Java和Spring Boot 2.1.0 M1 + Web依赖的Gradle]项目。
2.按照Spring Session-Spring Boot的说明配置Spring Session。更具体地:
-加入compile 'org.springframework.session:spring-session-data-redis' 到的build.gradle的依赖块
-配置的存储类型,加入spring.session.store-type=redisapplication.properties文件
-配置的连接的属性(在application.properties文件): spring.redis.hostspring.redis.passwordspring.redis.port具有相关值
执行的3 ./gradlew bootRun从项目的根和接收到的上述错误


问题:
1.据我从错误消息中了解的,RedisConnectionFactory由于无法找到Jedis和Lettuce驱动程序而无法加载。spring-session-data-redis默认情况下不应该携带其中一个驱动程序吗?
2.如果我要使用Jedis驱动程序,该如何解决此问题?
3.如果我要使用Lettuce驱动程序,如何解决此问题?

Ale*_*pov 8

1.
@ M.Deinum所述,spring-session-data-redis(版本2.1.0.M1)不会拉Jedis或Lettuce驱动程序。

2.
添加最新的Jedis驱动程序作为显式依赖项:

dependencies {  
    // ...  
    compile 'redis.clients:jedis:2.9.0'  
} 
Run Code Online (Sandbox Code Playgroud)

3.作为显式依赖
项添加spring-boot-starter-data-redis(添加Lettuce驱动程序)或最新的Lettuce驱动程序:

dependencies {  
    // ...  
    compile 'org.springframework.boot:spring-boot-starter-data-redis'  
    // OR
    compile 'io.lettuce:lettuce-core:5.0.5.RELEASE' 
} 
Run Code Online (Sandbox Code Playgroud)