当前位置: 首页 > 知识库问答 >
问题:

在spring项目中可以使用最新的jedis吗

景唯
2023-03-14

当我强制jedis在build中使用最新的版本4.2.3时。梯度如下:

resolutionStrategy {
            eachDependency { DependencyResolveDetails details ->
                
                if (details.requested.group == 'redis.clients' && details.requested.name == 'jedis' ) {
                    details.useVersion("4.2.3")
                }
            }
        }

spring项目显示了这样的错误:

Caused by: java.lang.NoClassDefFoundError: redis.clients.jedis.GeoUnit
    at org.springframework.data.redis.connection.jedis.JedisConnectionFactory.<clinit>(JedisConnectionFactory.java:93) ~[spring-data-redis-2.6.4.jar!/:2.6.4]
    at org.springframework.boot.autoconfigure.data.redis.JedisConnectionConfiguration.createJedisConnectionFactory(JedisConnectionConfiguration.java:74) ~[spring-boot-autoconfigure-2.6.7.jar!/:2.6.7]
    at org.springframework.boot.autoconfigure.data.redis.JedisConnectionConfiguration.redisConnectionFactory(JedisConnectionConfiguration.java:62) ~[spring-boot-autoconfigure-2.6.7.jar!/:2.6.7]
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:?]
    at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
    at java.lang.reflect.Method.invoke(Method.java:566) ~[?:?]
    at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:154) ~[spring-beans-5.3.19.jar!/:5.3.19]
    at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:653) ~[spring-beans-5.3.19.jar!/:5.3.19]
    at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:638) ~[spring-beans-5.3.19.jar!/:5.3.19]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1352) ~[spring-beans-5.3.19.jar!/:5.3.19]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1195) ~[spring-beans-5.3.19.jar!/:5.3.19]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:582) ~[spring-beans-5.3.19.jar!/:5.3.19]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) ~[spring-beans-5.3.19.jar!/:5.3.19]
    at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) ~[spring-beans-5.3.19.jar!/:5.3.19]
    at org.springframework.beans.factory.support.AbstractBeanFactory$$Lambda$316/0x0000000070e22f90.getObject(Unknown Source) ~[?:?]

我想使用jedis的扩展功能,似乎Spring启动数据与最新的jedis不兼容。有可能解决这个问题吗?

共有1个答案

严宏旷
2023-03-14

简短回答,否。

有一些用户[1][2][3]正在使用Jedis 4,但这可能是IFF你没有使用某些功能,并且愿意经历一些额外的工作。

顺便说一下,spring-data-redis正在升级他们对Jedis 4的支持。或许,你可以等待这个升级。

 类似资料:
  • 我不太了解这个appcompat库,所以如果这不是最聪明的问题,请原谅。 我有一个项目我有问题。结果我将targetSdkVersion设置为23,这给我带来了一个问题,因为我想使用21。所以我把它改成了21。 错误:(2)检索项的父项时出错:找不到与给定名称“Android:TextApparance.Material.Widget.Button.Inverse”匹配的资源。 错误:(2)检索项

  • 问题内容: 我正在尝试设置一些环境变量(用于对dev / prod端点进行API调用,取决于dev / prod等的键等),我想知道使用dotenv是否行得通。 我已经安装了dotenv,并且正在使用webpack。 我的webpack条目是,因此在该文件中 然后,在我的webpack配置中,输入以下内容: 但是,它仍未定义。如何正确执行此操作? 问题答案: 最简洁的答案是不。浏览器无法访问本地或

  • 我创建了这个测试项目,由两个项目组成:一个使用spring-boot,一个使用Spring-MVC。它们中的每一个单独工作都很好。我想要做的是运行spring-boot,并能够通过加载spring-mvc项目的上下文来访问该项目的web页面。这个项目很简单,因为我只是想测试如何做混合。 问题是,当我运行spring-boot应用程序时,来自spring-mvc的页面无法访问,因为它没有在构建中添加

  • 问题内容: 我有兴趣将GitHub上的项目用作我项目中的依赖项。GitHub项目有一个文件。我可以修改我的文件以使用该项目吗?如果是这样,怎么办?如果没有,我的最佳做法是什么? 问题答案: AFAIK,我的意思不是这样。 您可以将github用作Maven存储库-这与直接引用项目不同,它具有pom文件意味着仅是Maven项目。 如果 项目在中央存储库或其他存储库中不可用,则最好的选择是克隆,构建并

  • 在项目中,由于某种原因,需要将某些属性放入中,以便使特定属性更早可用。 然后有2个配置文件:和。 想知道是否可以将everying放入中,并完全删除以使其更干净。 由于刚才加载了,所以看起来还可以,对吧?或者,在某些情况下,这会引起一些问题吗?

  • 问题内容: 我一直在使用spring-data开发RESTful Web服务。几天前,发布了一个特殊的spring-data jpa REST框架。 现在,我注意到可以在此框架中使用@Version了。该版本是自己生成的还是您需要手动执行? 可以单独使用@Version吗?(这样我就不必对现有的存储库/域等进行任何更改。) 我需要做一些额外的配置来使用@Version吗? 问题答案: 自从我发布这