当前位置: 代码迷 >> 综合 >> SpringBoot2.0: Caused by: java.lang.NoClassDefFoundError: redis/clients/jedis/JedisPoolConfig
  详细解决方案

SpringBoot2.0: Caused by: java.lang.NoClassDefFoundError: redis/clients/jedis/JedisPoolConfig

热度:59   发布时间:2023-11-25 22:36:13.0

学习SpringBoot2.0过程中,使用Redis时可能会遇到这个问题。主要原因是jar包的问题。

配置文件pom.xml一般是这样的:

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
<dependency><groupId>org.apache.commons</groupId><artifactId>commons-pool2</artifactId>
</dependency>

有的按网上博客说的添加commons-pool2依赖后,又发生了一样的错误。继续寻找答案,发现原因是:

Spring Boot 2.0中spring-boot-starter-data-redis默认使用Lettuce方式替代了Jedis。使用Jedis的话先排除掉Lettuce的依赖,然后手动引入Jedis的依赖。

修改后正确的配置文件依赖 如下:

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId><exclusions><exclusion><groupId>io.lettuce</groupId><artifactId>lettuce-core</artifactId></exclusion></exclusions>
</dependency>
<dependency><groupId>redis.clients</groupId><artifactId>jedis</artifactId>
</dependency>

 

  相关解决方案