当前位置: 首页 > news >正文

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.lryc.cn/news/262244.html

相关文章:

  • 基于go语言开发的海量用户及时通讯系统
  • 19.Oracle 中count(1) 、count(*) 和count(列名) 函数的区别
  • C 库函数 - time()
  • 基于Python数据可视化的网易云音乐歌单分析系统
  • Jenkins----基于 CentOS 或 Docker 安装部署Jenkins并完成基础配置
  • flume系列之:监控flume agent channel的填充百分比
  • 信息安全和网络安全的区别
  • 【开源项目】WPF 扩展 -- 多画面视频渲染组件
  • risc-v system instruction
  • 08 v-text指令
  • vite基本知识
  • 考研真题c语言
  • neuq-acm预备队训练week 9 P8604 [蓝桥杯 2013 国 C] 危险系数
  • 【BIG_FG_CSDN】*VMware17pro*Linux*Redhit6网络管理(个人向——学习笔记)
  • Nginx location+Nginx rewrite(重写)(新版)
  • uniapp实现地图电子围栏功能
  • LeetCode第376场周赛
  • 数据仓库与数据挖掘小结
  • ensp创建配置环境,实现全网互访
  • 智能优化算法应用:基于JAYA算法3D无线传感器网络(WSN)覆盖优化 - 附代码
  • ripro后台登录后转圈和图标不显示的原因及解决方法
  • android 源码编译android 12
  • CSS第二天导读
  • scroll-behavior属性使用方法
  • Python Django 连接 PostgreSQL 操作实例
  • 5.实现简化版raft协议完成选举
  • 服装管理系统 简单实现
  • 深度学习项目实战:垃圾分类系统
  • C#浅拷贝和深拷贝数据
  • 【JVM】4.运行时数据区(程序计数器、虚拟机栈)