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的配置:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM