Gradle项目build——kafka3.0源码报错

错误:

org.gradle.api.internal.tasks.DefaultTaskContainer$TaskCreationException:
Could not create task
‘:spotlessInternalRegisterDependencies’.Caused by:
org.gradle.api.tasks.TaskInstantiationException: Could not create task
of type ‘RegisterDependenciesTask’.Caused by:
java.lang.UnsupportedClassVersionError:
org/eclipse/jgit/lib/AnyObjectId has been compiled by a more recent
version of the Java Runtime (class file version 55.0), this version of
the Java Runtime only recognizes class file versions up to 52.0。

根据错误应该是版本不匹配造成的,开始使用的版本:   jdk1.8, kafka3.0   scala2.11

去kafka官网查询对应的版本关系,发现 kafka3.0 不支持Java 8 和 Scala 2.12

下面是官网简述:

3.0.0

Kafka 3.0.0 包含许多重要的新功能。以下是一些显着变化的摘要:

  • 不再支持 Java 8 和 Scala 2.12
  • Kafka Raft 支持元数据主题的快照以及自我管理的仲裁中的其他改进
  • 为默认启用的 Kafka 生产者提供更强的交付保证
  • 弃用消息格式 v0 和 v1
  • OffsetFetch 和 FindCoordinator 请求的优化
  • 更灵活的 Mirror Maker 2 配置和 Mirror Maker 1 的弃用
  • 能够在 Kafka Connect 中的一次调用中重新启动连接器的任务
  • 现在默认启用连接器日志上下文和连接器客户端覆盖
  • Kafka Streams 中时间戳同步的增强语义
  • 改进了 Stream 的 TaskId 的公共 API
  • Kafka 中的默认 serde 变为 null

解决办法:

安装本地环境 java11,scala 2.13.8,kafka 3.0 ,Gradle 7.2

网上看过一个关于kafka3.0与Gradle版本错误问题,由下面这段话得出, kafka 3.0 只支持 Gradle 7.0 以上的版本,所以这一点也需要注意,我编译kafka 3.0使用的是Gradle7.2。

What went wrong: A problem occurred evaluating root project ‘kafka-3.0.0-src’. Failed to apply plugin class
‘com.github.jengelman.gradle.plugins.shadow.ShadowBasePlugin’.
This version of Shadow supports Gradle 7.0+ only. Please upgrade.

一旦遇到Gradle的以上报错的解决办法:

Gradle官网(https://gradle.org/releases/)下载了version 7.2(这里kafka3.0源码,只要版本>=7.0即可),

修改idea Gradle build的配置:

 

posted @ 2022-02-21 16:07  RunningNeverStop  阅读(1126)  评论(0编辑  收藏  举报