找不到redis.clients.jedis.JedisShardInfo的类文件。

5

当我在gradle.build中将 jedis 升级到版本 4.2.3:

    api "redis.clients:jedis:4.2.3"

显示错误:

/Users/xiaoqiangjiang/source/reddwarf/backend/retire/dolphin-common/src/main/java/misc/config/redis/RedisConfig.java:77: error: cannot access JedisShardInfo
        return new JedisConnectionFactory(redisConfig);
               ^
  class file for redis.clients.jedis.JedisShardInfo not found

这是redis的配置文件:

    @Bean
    public JedisConnectionFactory redisConnectionFactory() {
        var redisConfig = new RedisStandaloneConfiguration(redisHost, redisPort);
        redisConfig.setPassword(redisPwd);
        return new JedisConnectionFactory(redisConfig);
    }

为什么会出现这个错误?我该怎么修复它呢?我在谷歌上搜索了一下似乎没有其他人遇到过这个问题。

3个回答

5

自Jedis 4以来,类JedisShardInfo已被删除。

ShardedJedisPoolShardedShardedJedisBinaryShardedJedisShardInfoJedisShardInfo 类已经被删除。

以下是Jedis 3.x和Jedis 4.x之间所有重大更改的清单


2
好的,但是为什么最新的spring-data-redis 2.6.4 JedisConnectionFactory仍然使用JedisShardInfo呢...?错误:无法访问JedisShardInfo 返回新的JedisConnectionFactory(connectionConfig); - razor

2

请使用3.9.0或更低版本的依赖,因为新版本中有一些类已被删除。

<dependency>
        <groupId>redis.clients</groupId>
        <artifactId>jedis</artifactId>
        <version>3.9.0</version>
</dependency>

注意: SNAPSHOT、M1、M2、M3和M4版本通常是正在进行的工作。Spring团队仍在努力完善它们,建议不要使用它们。


1

一些类已被移除,使用Jedis版本:3.9.0


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接