You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

升级Kotlin至1.8.20/21后Gradle同步报NoClassDefFoundError如何解决?

Kotlin版本升级后Gradle同步NoClassDefFoundError问题解决

问题详情

维护一个基于Kotlin的大型项目,所有Kotlin依赖版本通过ext.version.kotlin统一管理。将Kotlin版本从1.8.0升级至1.8.20/1.8.21(同步更新所有Kotlin依赖)后,Gradle同步失败,抛出异常:

FAILURE: Build failed with an exception.

* Where:
Build file '/Users/{user}/StudioProjects/{project}/build.gradle' line: 75

* What went wrong:
A problem occurred configuring root project '{project}'.
> Failed to notify project evaluation listener.
   > java.lang.NoClassDefFoundError: org/jetbrains/kotlin/gradle/plugin/KotlinCompilerPluginSupportPlugin


Caused by: com.google.common.util.concurrent.ExecutionError: java.lang.NoClassDefFoundError: org/jetbrains/kotlin/gradle/plugin/KotlinCompilerPluginSupportPlugin
    at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2053)
    at com.google.common.cache.LocalCache.get(LocalCache.java:3966)
    at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3989)
        at build_9p9pcmezmt1efrj5n8osntc17$_run_closure1$_closure6.doCall(/Users/{user}/StudioProjects/{project}/build.gradle:75)

错误触发在build.gradle第75行,代码为:
if (project.plugins.hasPlugin("{any plugin name}")) {

当前环境:AGP 7.4.0、Gradle 7.6、Android Studio Electric Eel、Kotlin 1.8.21。已尝试升级AGP和Gradle至最新版本,问题未解决。

解决方案

  • 排查第三方插件兼容性:KotlinCompilerPluginSupportPlugin是Kotlin Gradle插件内部类,升级Kotlin版本后,部分第三方插件可能未适配该版本的API变更。检查项目中使用的非官方Kotlin插件、自定义插件,确认它们是否支持Kotlin 1.8.20+,必要时升级这些插件版本。
  • 清理Gradle缓存:执行以下命令清除本地Gradle缓存,避免旧版本依赖残留:
    ./gradlew cleanBuildCache
    rm -rf ~/.gradle/caches
    
    执行完成后重新同步项目。
  • 调整插件应用顺序:确保Kotlin Gradle插件在其他依赖Kotlin的插件之前应用。比如在根build.gradle中,先应用kotlin-android或kotlin-jvm插件,再加载其他相关插件。
  • 延迟插件检查逻辑:第75行的插件检查可能在Kotlin插件完全初始化前执行,导致无法找到相关类。将该逻辑移至afterEvaluate块中,确保所有插件加载完成后再执行:
    project.afterEvaluate {
        if (project.plugins.hasPlugin("{any plugin name}")) {
            // 原有业务逻辑
        }
    }
    
  • 确认Kotlin依赖全量同步:检查所有模块的build.gradle,确保所有Kotlin相关依赖(如kotlin-stdlib、kotlin-reflect、kotlin-gradle-plugin等)都使用统一的ext.version.kotlin版本,无硬编码的旧版本号遗漏。

内容的提问来源于stack exchange,提问作者Andrii Drobiazko

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.22 19:22:46