1.昨天在maven build项目中发现有个问题,如下所示

java.lang.NoSuchMethodError: org.springframework.data.repository.config.AnnotationRepositoryConfigurationSource.<init>(Lorg/springframework/core/type/AnnotationMetadata;Ljava/lang/Class;Lorg/springframework/core/io/ResourceLoader;Lorg/springframework/core/env/Environment;Lorg/springframework/beans/factory/support/BeanDefinitionRegistry;)Vat org.springframework.boot.autoconfigure.data.AbstractRepositoryConfigurationSourceSupport$1.<init>(AbstractRepositoryConfigurationSourceSupport.java:68)at org.springframework.boot.autoconfigure.data.AbstractRepositoryConfigurationSourceSupport.getConfigurationSource(AbstractRepositoryConfigurationSourceSupport.java:67)at org.springframework.boot.autoconfigure.data.AbstractRepositoryConfigurationSourceSupport.registerBeanDefinitions(AbstractRepositoryConfigurationSourceSupport.java:58)at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.loadBeanDefinitionsFromRegistrars(ConfigurationClassBeanDefinitionReader.java:352)at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.loadBeanDefinitionsForConfigurationClass(ConfigurationClassBeanDefinitionReader.java:143)at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.loadBeanDefinitions(ConfigurationClassBeanDefinitionReader.java:116)at org.springframework.context.annotation.ConfigurationClassPostProcessor.processConfigBeanDefinitions(ConfigurationClassPostProcessor.java:320)at org.springframework.context.annotation.ConfigurationClassPostProcessor.postProcessBeanDefinitionRegistry(ConfigurationClassPostProcessor.java:228)at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanDefinitionRegistryPostProcessors(PostProcessorRegistrationDelegate.java:270)at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:93)at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:686)at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:524)at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:122)at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:693)at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:360)at org.springframework.boot.SpringApplication.run(SpringApplication.java:303)at org.springframework.boot.SpringApplication.run(SpringApplication.java:1118)at org.springframework.boot.SpringApplication.run(SpringApplication.java:1107)at com.ppdai.realtime.datachannel.mq.MessageQueueApp.main(MessageQueueApp.java:20)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)at java.lang.reflect.Method.invoke(Method.java:498)at org.springframework.boot.maven.AbstractRunMojo$LaunchRunner.run(AbstractRunMojo.java:558)at java.lang.Thread.run(Thread.java:748)

原因分析:

https://github.com/spring-projects/spring-boot/commit/5a4ef50ef1d71f1a42edaee309b3e04fb754b13a

因为spring boot和sping-data-redis版本不匹配导致的,spring-data-redis使用 1.8.1.RELEASE版本  依赖

<dependency><groupId>org.springframework.data</groupId><artifactId>spring-data-keyvalue</artifactId><version>1.2.1.RELEAS</version> </dependency>

依赖

<dependency><groupId>org.springframework.data</groupId><artifactId>spring-data-commons</artifactId><version>1.13.1.RELEASE</version>
</dependency>

如下图所示 这是spring-boot 1.5.9.Release版本的函数

而spring-data-commons中构造函数如下

二种解决方案,

第一 将spring-boot-autoconfig版本从1.5.9.RELEASE降低为1.5.2

或者将spring-data-commons版本从1.13.1.RELEASE升到1.13.7.RELEASE

完结。。

另外附上一个问题

Caused by: java.lang.ClassNotFoundException: org.springframework.data.repository.config.RepositoryConfigurationSource

Caused by: java.lang.ClassNotFoundException: org.springframework.data.repository.config.RepositoryConfigurationSourceat java.net.URLClassLoader.findClass (URLClassLoader.java:381)at java.lang.ClassLoader.loadClass (ClassLoader.java:424)at java.lang.ClassLoader.loadClass (ClassLoader.java:357)at java.lang.Class.getDeclaredConstructors0 (Native Method)at java.lang.Class.privateGetDeclaredConstructors (Class.java:2671)at java.lang.Class.getConstructor0 (Class.java:3075)at java.lang.Class.getDeclaredConstructor (Class.java:2178)at org.springframework.beans.BeanUtils.instantiateClass (BeanUtils.java:102)at org.springframework.beans.BeanUtils.instantiateClass (BeanUtils.java:125)at org.springframework.context.annotation.ConfigurationClassParser.processImports (ConfigurationClassParser.java:585)at org.springframework.context.annotation.ConfigurationClassParser.doProcessConfigurationClass (ConfigurationClassParser.java:293)at org.springframework.context.annotation.ConfigurationClassParser.processConfigurationClass (ConfigurationClassParser.java:244)at org.springframework.context.annotation.ConfigurationClassParser.processImports (ConfigurationClassParser.java:595)at org.springframework.context.annotation.ConfigurationClassParser.processDeferredImportSelectors (ConfigurationClassParser.java:538)at org.springframework.context.annotation.ConfigurationClassParser.parse (ConfigurationClassParser.java:184)at org.springframework.context.annotation.ConfigurationClassPostProcessor.processConfigBeanDefinitions (ConfigurationClassPostProcessor.java:308)at org.springframework.context.annotation.ConfigurationClassPostProcessor.postProcessBeanDefinitionRegistry (ConfigurationClassPostProcessor.java:228)at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanDefinitionRegistryPostProcessors (PostProcessorRegistrationDelegate.java:270)at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors (PostProcessorRegistrationDelegate.java:93)at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors (AbstractApplicationContext.java:686)at org.springframework.context.support.AbstractApplicationContext.refresh (AbstractApplicationContext.java:524)at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh (EmbeddedWebApplicationContext.java:122)at org.springframework.boot.SpringApplication.refresh (SpringApplication.java:693)at org.springframework.boot.SpringApplication.refreshContext (SpringApplication.java:360)at org.springframework.boot.SpringApplication.run (SpringApplication.java:303)

原因

Caused by: org.springframework.beans.factory.BeanDefinitionStoreException: Failed to process import candidates for configuration class [org.springframework.boot.autoconfigure.data.redis.RedisRepositoriesAutoConfiguration]; nested exception is java.lang.NoClassDefFoundError: org/springframework/data/repository/config/RepositoryConfigurationSource

因为spring-boot autoconfig需要RedisRepositoriesAutoConfiguration  这个类找不到,解决方案

添加依赖

<dependency><groupId>org.springframework.data</groupId><artifactId>spring-data-commons</artifactId><version>1.13.7.RELEASE</version>
</dependency>

因为spring

转载于:https://www.cnblogs.com/zhengwangzw/p/9956874.html

spring-data-redis版本冲突引发的问题相关推荐

  1. spring data redis的使用jar包版本冲突问题

    spring data redis 与spring 版本之间会有不兼容,要求spring 最低版本为4.2.6,这里推荐的一个版本 spring 4.3.2  spring data redis 1. ...

  2. 使用Spring Data Redis操作Redis(集群版)

    说明:请注意Spring Data Redis的版本以及Spring的版本!最新版本的Spring Data Redis已经去除Jedis的依赖包,需要自行引入,这个是个坑点.并且会与一些低版本的Sp ...

  3. Spring Boot使用Spring Data Redis操作Redis(单机/集群)

    说明:Spring Boot简化了Spring Data Redis的引入,只要引入spring-boot-starter-data-redis之后会自动下载相应的Spring Data Redis和 ...

  4. Spring data redis 异常

    2019独角兽企业重金招聘Python工程师标准>>> spring 集成 spring-data-redis 版本: spring低版本 + spring-data-redis 高 ...

  5. Redis - Spring Data Redis 操作 Jedis 、Lettuce 、 Redisson

    文章目录 官网 Jedis VS Lettuce Jedis Code POM依赖 配置文件 配置类 单元测试 Lettuce Code Redisson Code POM依赖 配置文件 配置类 单元 ...

  6. Java Spring Data Redis实战与配置参数详解 application.properties...

    Redis作为开源分布式高并发缓存,使用范围非常广泛,主流互联网公司几乎都在使用. Java Spring Boot 2.0实战开发Redis缓存可以参考下面的步骤,Redis安装可以直接使用Linu ...

  7. Spring Data Redis—Pub/Sub(附Web项目源码)

    一.发布和订阅机制 当一个客户端通过 PUBLISH 命令向订阅者发送信息的时候,我们称这个客户端为发布者(publisher). 而当一个客户端使用 SUBSCRIBE 或者 PSUBSCRIBE ...

  8. Spring Data Redis:Sentinel的高可用性

    1.概述 为了使Redis具有高可用性,我们可以使用Spring Data Redis对Redis Sentinel的支持. 借助Sentinel,我们可以创建自动抵御某些故障的Redis部署. Re ...

  9. 具有Java 8支持的Spring Framework 4.0.3和Spring Data Redis 1.2.1

    Spring Framework 4.0.3 正如Spring社区宣布的那样,Spring Framework 4.0.3现在可用. 它是上周Java 8发布后框架的第一个版本,因此它是使用OpenJ ...

  10. Spring Data Redis 实践

    前言 Spring Data Redis是Spring Data大家族的一部分,提供了基于spring应用的简易配置与redis服务访问,它为存储与交互提供了低级(low-level)和高级的(hig ...

最新文章

  1. Python 学习博客
  2. python3 学习使用大纲梳理
  3. docker 保存 环境持久化_18、docker的持久化存储和数据共享
  4. List的方法和属性 方法或属性 作用
  5. 转:javascript方法--bind()
  6. 小心使用IOCP完成端口
  7. 如何在github上发起一个pull request,如何贡献代码,参与开源项目
  8. curve函数 roc_sklearn-roc_curve
  9. C++:在堆上创建对象,还是在栈上?
  10. SCI论文写作的时态用法
  11. 洛谷P4824 [USACO15FEB] Censoring S 题解
  12. Android Studio通过模拟器联网
  13. 什么是 java 序列化?什么情况下需要序列化?
  14. P4017 最大食物链计数
  15. 云端部署 vs 本地化部署
  16. Arcpy基础入门-2、arcpy的批处理功能
  17. [Jquery]实现三个盒子两两交换的考眼力游戏
  18. 古诗词的直译和韵译有什么区别?看看就知道了
  19. 解决ssh: Could not resolve hostname ***: nodename nor servname provided, or not known报错
  20. python程序怎么运行结果

热门文章

  1. cfb为什么不需要填充_为什么很多高中生数学成绩不理想,需要补课?因为不熟练啊!...
  2. 下载python步骤_下载及安装Python详细步骤
  3. springboot 拦截器 日志_跟武哥一起学习Spring Boot,一份全面详细的学习教程
  4. java访问控制度_菜鸡的Java笔记 - java 访问控制权限
  5. phpcms后台系统怎么去掉html目录_电子笔记本 | 好记性胜过烂笔头?基于python3的知识管理系统...
  6. python3生成随机数_Python3.3中如何产生伪随机数
  7. C++ :vector的使用
  8. linux中anconda python集成环境配置
  9. 全球及中国实心轴编码器行业前景趋势与运营动向分析报告2022版
  10. Android10崩溃,华为荣耀Android10崩溃