Kotlin版本不兼容求助:升级至1.9.+后编译报错
Kotlin 1.9.+版本切换后IDE编译不兼容问题解决
问题核心
将Kotlin从1.8.22升级到1.9.+(使用kotlin(jvm)插件1.9.20)后,IDE编译报错Kotlin: Class 'kotlin.Unit' 是用不兼容的Kotlin版本编译的,其元数据的二进制版本为1.9.0,预期版本为1.7.1,但命令行执行./gradlew可正常构建。这是因为IDE的Kotlin编译环境与项目Gradle配置不一致,或缓存旧数据导致的。
解决步骤
统一IDE Kotlin插件版本
打开IDE设置(Settings/Preferences),进入Plugins > Kotlin,确认插件版本为1.9.20及以上(与项目kotlin(jvm)插件版本一致)。版本不符时点击"Update"更新插件,重启IDE。清理缓存
- IDE缓存:执行
File > Invalidate Caches...,勾选Clear file system cache and local history,点击Invalidate and Restart。 - Gradle缓存:执行命令
./gradlew clean build --no-build-cache,或手动删除报错路径对应的.gradle/caches文件夹。
- IDE缓存:执行
确保项目Gradle配置一致
检查根项目build.gradle.kts(或build.gradle)的Kotlin版本配置,统一指定为1.9.20:plugins { kotlin("jvm") version "1.9.20" apply false }子项目配置中不要硬编码旧版本的stdlib依赖,让插件自动匹配版本:
plugins { kotlin("jvm") } dependencies { implementation(kotlin("stdlib")) }确认IDE Gradle同步配置
进入IDE设置Build, Execution, Deployment > Build Tools > Gradle,选择Use Gradle from: 'gradle-wrapper.properties' file,确保IDE使用项目指定的Gradle版本和工具链。
内容的提问来源于stack exchange,提问作者tonisives
相关产品推荐
相关产品推荐

