报错 : java.lang.ClassNotFoundException: redis.clients.jedis.util.Pool

项目场景

idea + ssm 整合 + maven + tomcat8 + JDK1.8 + 导入 SpringDataRedis , 测试能否正常启动

问题描述

启动报错

java.lang.ClassNotFoundException: redis.clients.jedis.util.Pool

原因分析

导入jedisSpringDataRedis相关包后出现错误 , 可能与这两个有关

  1. 可能没有导入包
  2. 导入包依赖问题
  3. 版本兼容

解决方案

检查是否导入相关包 (未解决)

经检查所有相关包都已导入

检查依赖 (未解决)

经检查所有依赖均添加

检查版本兼容 (已解决)

问题重现 :

  • springDataRedis版本 : 2.3.1.RELEASE
  • jedis版本 : 2.9.0

问题解决 :

  • 修改 SpringDataRedis 版本为 2.1.3.RELEASE 后系统正常启动

代码重现 :

  <properties>
        <!-- 修改版本后 , 正常启动 -->
<!--    <springDataRedis-verson>2.3.1.RELEASE</springDataRedis-verson>-->
        <springDataRedis-verson>2.1.3.RELEASE</springDataRedis-verson>
        <jedis-verson>2.9.0</jedis-verson>
    </properties>

<dependencyManagement>
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-redis</artifactId>
<version>${springDataRedis-verson}</version>
</dependency>
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>${jedis-verson}</version>
</dependency>
</dependencies>
</dependencyManagement>

总结

添加依赖的过程中要注意版本是否兼容