Gradle项目build报错解决

博客作者在尝试构建Kafka 3.0.0源码时遇到Gradle build错误,初步判断为版本不兼容。尝试降低Gradle版本至6.8.1,但问题依旧。最终发现是由于项目依赖的Shadow插件仅支持Gradle 7.0+,而作者使用的版本不匹配。降级到Kafka 2.7.1版本后,成功构建项目。此经历强调了确保所有工具和项目版本之间的兼容性的重要性。

问题

最近在看Kafka源码,从网上download最新版本3.0.0源码后需要用gradle进行项目的build,但在build过程中一直报错:

Starting Gradle Daemon… Gradle Daemon started in 2 s 127 ms
Configure project : Starting build with version 3.0.0 using Gradle
7.1.1, Java 1.8 and Scala 2.13.6
<ij_msg_gr>Gradle import errors<ij_msg_gr><ij_nav>D:\Study\tech\Kafka\source_code\kafka-3.0.0-src\build.gradle<ij_nav>root
project ‘kafka-3.0.0-src’: Unable to build Kotlin project
configuration
Details:
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

FAILURE: Build failed with an exception.

由报错看上去是版本问题,但检查了jdk以及Scala的版本也是官网推荐的,那只能是Gradle版本的问题了。去网上search了下,也是建议降低Gradle版本。于是开始行动。。。。

解决

手工从Gradle官网(https://gradle.org/releases/)下载了version 6.8.1,

修改idea Gradle build的配置:
在这里插入图片描述

尝试重新build,but…still

Configure project : Starting build with version 3.0.0 using Gradle
7.1.1, Java 1.8 and Scala 2.13.6

FAILURE: Build failed with an exception.

  • Where: Build file ‘D:\Study\tech\Kafka\source_code\kafka-3.0.0-src\build.gradle’ line:
    2151

  • 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.

于是弃用kafka最新版,降到 2.7.1,然后重新import项目 build ,成功!!!

总结

确实要感谢工具报错提示的准确性。
项目的基础运行环境版本 + 项目本身的版本 + build工具的版本 + 开发环境的版本 一定要注意兼容。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值