spring-kakfa依赖管理之org/springframework/kafka/listener/CommonErrorHandler错误

问题
整个项目使用spring-boot2.6.8版本,使用gradle构建,在common模块指定了implementation 'org.springframework.kafka:spring-kafka:2.6.8’这个工程也都能运行(这正常发送kafka消息和接收消息),但是执行单元测试报错,报错信息如下:

	... 86 more
Caused by: java.lang.NoClassDefFoundError: org/springframework/kafka/listener/CommonErrorHandlerat java.base/java.lang.Class.getDeclaredFields0(Native Method)at java.base/java.lang.Class.privateGetDeclaredFields(Class.java:3297)at java.base/java.lang.Class.getDeclaredFields(Class.java:2371)at org.springframework.util.ReflectionUtils.getDeclaredFields(ReflectionUtils.java:738)... 101 more
Caused by: java.lang.ClassNotFoundException: org.springframework.kafka.listener.CommonErrorHandlerat java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:520)... 105 more

解决办法:

现在直接上本人的解决办法,每个人遇见到问题可能不同,需要使用不同解决办法
在build.gradle中取消版本,直接石红
common模块中原先的内容(最开始的项目指定2.6.8版本)

    implementation 'org.springframework.kafka:spring-kafka:2.6.8'

更新后的内容

    implementation 'org.springframework.kafka:spring-kafka'testImplementation 'org.springframework.kafka:spring-kafka'

分析:

1, 这个项目使用的springboot 2.6.8版本,在总的build.gradle已经指定对应的依赖管理

buildscript {repositories {maven {url "https://plugins.gradle.org/m2/"}}dependencies {classpath "org.springframework.boot:spring-boot-gradle-plugin:2.6.8"classpath "io.spring.gradle:dependency-management-plugin:1.0.11.RELEASE"classpath "com.netflix.nebula:gradle-lint-plugin:17.7.1"}
}

2, 查看springboot 2.6.8 中依赖的spring-kafka版本
可以发现其中是使用的spring-kafka 2.8.6
https://github.com/spring-projects/spring-boot/releases/tag/v2.6.8
在这里插入图片描述

https://docs.spring.io/spring-boot/docs/2.6.8/reference/html/dependency-versions.html#appendix.dependency-versions

在这里插入图片描述

https://github.com/spring-projects/spring-boot/blob/v2.6.8/spring-boot-project/spring-boot-dependencies/build.gradle
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/228427.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java --- 集合进阶

目录 一、单列集合顶层接口 Collection 1.1 基本方法 1.2 Collection 的遍历方式 二、list集合 1.2 ArrayList Vector 底层结构 1.3 LinkedList ArrayList 和 LinkedList 比较 三、set接口 3.1、Set 接口和常用方法 3.2 HashSet HashSet 底层机制(HashMap…

Python【Matplotlib】图例可拖动改变位置

代码: import matplotlib.pyplot as plt from matplotlib.widgets import Button# 创建一个示例图形 fig, ax plt.subplots() line, ax.plot([1, 2, 3], labelLine 1)# 添加图例 legend ax.legend(locupper right, draggableTrue)# 添加一个按钮,用于…

mybatis动态SQL-sql片段

1、建库建表 create database mybatis-example; use mybatis-example; create table emp (empNo varchar(40),empName varchar(100),sal int,deptno varchar(10) ); insert into emp values(e001,张三,8000,d001); insert into emp values(e002,李四,9000,d001); insert into…

简单电子报警器设计与制作方法

简单电子报警器设计与制作方法 注: 1、按上图连接好。 2、改变Rx的大小即使基极电路的电流发生改变,使频率发生改变。 3、增大电容,有利于低音向第一个三极管的基极反馈,因此最终 输出频率变低。 4、R2处接光敏电阻…

数据结构和算法-AOV与AOE网络和(逆)拓扑排序与关键路径

文章目录 AOV网络拓扑排序代码实现时间复杂度 逆拓扑排序实现DFS算法实现逆拓扑排序小结 AOE网络关键路径求关键路径求事件最早发生时间求事件最迟发生时间求活动最早发生时间求活动最迟发生时间求活动余量 关键活动 关键路径的特性小结 AOV网络 必须是DAG图(有向无…

本科论文降重修改技巧 神码ai

大家好,今天来聊聊本科论文降重修改技巧,希望能给大家提供一点参考。 以下是针对论文重复率高的情况,提供一些修改建议和技巧,可以借助此类工具: 本科论文降重修改技巧 对于本科论文的写作,降重修改是一个…

飞天使-docker知识点6-容器dockerfile各项名词解释

文章目录 docker的小技巧dockerfile容器为什么会出现启动了不暂停查看docker 网桥相关信息 docker 数据卷 docker的小技巧 [rootlight-test playbook-vars[]# docker inspect -f "{{.NetworkSettings.IPAddress}}" d3a9ae03ae5f 172.17.0.4docker d3a9ae03ae5f:/etc…

【idea】解决sprintboot项目创建遇到的问题

目录 一、报错Plugin ‘org.springframework.boot:spring-boot-maven-plugin:‘ not found 二、报错java: 错误: 无效的源发行版:17 三、java: 无法访问org.springframework.web.bind.annotation.CrossOrigin 四、整合mybatis的时候,报java.lang.Ill…

电子元器件介绍——二极管(四)

电子元器件介绍 文章目录 电子元器件介绍前言一、二极管的基础知识二、二极管的分类三、二极管的应用总结 前言 这一节我们看一下二极管。 一、二极管的基础知识 PN结:是指一块半导体单晶,其中一部分是P型区,其余部分是N型区。 在电场作用…

听GPT 讲Rust源代码--src/tools(14)

File: rust/src/tools/rust-analyzer/crates/cfg/src/lib.rs 在Rust源代码中,rust/src/tools/rust-analyzer/crates/cfg/src/lib.rs这个文件是Rust语言分析器(Rust Analyzer)的一部分,用于处理和管理条件编译指令(Cond…

打破涨粉瓶颈!如何通过视频号找热门话题?

如果你正在运营视频号,相信你一定会遇到这样的瓶颈,视频号播放不理想,牟足劲想涨几个粉丝,结果还掉粉了?今天我们就聊聊如何通过视频号找热门话题! 当你的播放和粉丝增长停滞 数据不好的的时候需要更新迭代 同时还需…

DeciLM-7B:突破极限,高效率、高精准度的70亿参数AI模型

引言 在人工智能领域,语言模型的发展速度令人瞩目。Deci团队最近推出了一款具有革命性意义的语言模型——DeciLM-7B。这款模型在速度和精确度上都实现了显著的突破,以其70亿参数的规模,在语言模型的竞争中脱颖而出。 Huggingface模型下载&am…

torch中张量与数据类型的介绍

PyTorch张量的定义介绍 PyTorch最基本的操作对象是张量,它表示一个多维数组,类似NumPy的数组,但是前者可以在GPU上加速计算 初始化张量 ttorch.tensor([1,2]) # 创建一个张量 print(t) t.dtype #打印t的数据类型为torch.int…

尺度函数与小波函数

尺度函数与小波函数 尺度函数 设存在函数 φ j , k ( x ) 2 j / 2 φ ( 2 j x − k ) \varphi_{j,k}(x)2^{j/2}\varphi(2^{j}x-k) φj,k​(x)2j/2φ(2jx−k) 对所有的 j j j, k ∈ Z k{\in}\mathbb{Z} k∈Z 和 φ ( x ) ∈ L 2 ( R ) \varphi(x){\in}L^2(R) φ(x)∈L2(R)…

为什么Apache Doris适合做大数据的复杂计算,MySQL不适合?

为什么Apache Doris适合做大数据的复杂计算,MySQL不适合? 一、背景说明二、DB架构差异三、数据结构差异四、存储结构差异五、总结 一、背景说明 经常有小伙伴发出这类直击灵魂的疑问: Q:“为什么Apache Doris适合做大数据的复杂计…

大数据与深度挖掘:如何在数字营销中与研究互动

数字营销最吸引人的部分之一是对数据的内在关注。 如果一种策略往往有积极的数据,那么它就更容易采用。同样,如果一种策略尚未得到证实,则很难获得支持进行测试。 数字营销人员建立数据信心的主要方式是通过研究。这些研究通常分为两类&…

【教3妹学编程-算法题】找出峰值

3妹:2哥2哥,你有没有看到新闻:北京地铁事故中102人骨折! 2哥 : 看到了,没想到坐个地铁还出事故了。 3妹:事故原因为雪天轨滑导致前车信号降级,紧急制动停车,后车因所在区段位于下坡地…

【️Java是值传递还是引用传递?】

✅Java是值传递还是引用传递? ✅Java是值传递还是引用传递?✅典型理解 ✅增加知识仓✅Java的求值策略✅Java中的对象传递✅值传递和共享对象传递的现象冲突吗? ✅总结 ✅Java是值传递还是引用传递? ✅典型理解 编程语言中需要进行方法间的…

kafka学习笔记--Kafka副本

本文内容来自尚硅谷B站公开教学视频,仅做个人总结、学习、复习使用,任何对此文章的引用,应当说明源出处为尚硅谷,不得用于商业用途。 如有侵权、联系速删 视频教程链接:【尚硅谷】Kafka3.x教程(从入门到调优…

比特币即自由

号外:教链内参12.15《疯狂的铭文》 文 | Ross Ulbricht. 原文标题:Bitcoin Equals Freedom. 2019.9.25 在中本聪发明比特币后的头一年左右,发生了一些特别的事情,不仅没有人预料到,甚至很多人认为不可能。试着想象一下…