Kotlin Multiplatform构建报错java.lang.NoClassDefFoundError: KonanTarget
问题根因
org/jetbrains/kotlin/konan/target/KonanTarget是Kotlin Native编译器的核心类,你此前删除Gradle缓存时意外删除了该类所属的Kotlin相关依赖包,导致Gradle加载Kotlin Multiplatform插件时找不到对应类,因此所有依赖该插件的Gradle任务都会直接抛出该错误。
修复步骤
- 第一步:关闭Intellij IDEA,进入项目根目录,删除项目内的
.gradle文件夹、所有模块下的build文件夹 - 第二步:删除全局Gradle缓存中损坏的Kotlin相关依赖,全局缓存默认路径如下:
- Windows:
C:\Users\<你的用户名>\.gradle\caches\modules-2\files-2.1\org.jetbrains.kotlin - macOS/Linux:
~/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin
进入上述目录后,删除所有名称包含konan、kotlin-native的文件夹
- Windows:
- 第三步:回到项目根目录,在终端执行依赖刷新命令:
- macOS/Linux:
./gradlew clean build --refresh-dependencies - Windows:
gradlew.bat clean build --refresh-dependencies
该命令会强制跳过本地缓存,重新拉取所有缺失的完整依赖包
- macOS/Linux:
- 第四步:命令执行完成后重新打开Intellij,点击右侧Gradle面板的刷新按钮同步项目即可
可选补充操作
如果执行上述步骤后仍然报错,可以检查以下两项配置:
- 确认
gradle/wrapper/gradle-wrapper.properties中配置的Gradle版本,与项目build.gradle.kts中使用的Kotlin插件版本兼容,不要使用未正式发布的预览版 - 确认Intellij中安装的Kotlin插件版本与项目使用的Kotlin版本一致
内容的提问来源于stack exchange,提问作者os_mon
相关产品推荐
相关产品推荐

