IntelliJ中Kotlin-Gradle项目JVM目标版本不一致问题修复咨询
解决Kotlin+Gradle项目中JVM目标兼容性不一致问题
这个错误的核心是Java编译任务(compileJava)目标JVM版本为23,但Kotlin编译任务(compileKotlin)目标版本为22,两者版本不匹配导致冲突。只需在build.gradle.kts中统一配置JVM目标版本即可解决,具体操作如下:
步骤1:修改build.gradle.kts配置
打开项目根目录下的build.gradle.kts文件,添加或修改以下配置,将Java和Kotlin的编译目标统一为JDK 23:
推荐方式(自动同步版本,更简洁)
使用jvmToolchain配置,它会自动同步Java和Kotlin的编译目标版本:
plugins { kotlin("jvm") version "1.9.20" application } group = "com.example" version = "1.0-SNAPSHOT" repositories { mavenCentral() } dependencies { testImplementation(kotlin("test")) } tasks.test { useJUnitPlatform() } application { mainClass.set("MainKt") } // 统一指定JVM工具链版本为23 kotlin { jvmToolchain(23) }
手动同步方式
如果需要单独配置Java的兼容性版本,可以同时设置Java和Kotlin的目标:
plugins { kotlin("jvm") version "1.9.20" application } group = "com.example" version = "1.0-SNAPSHOT" repositories { mavenCentral() } dependencies { testImplementation(kotlin("test")) } tasks.test { useJUnitPlatform() } application { mainClass.set("MainKt") } // 配置Kotlin的JVM目标版本 kotlin { jvmTarget = "23" } // 配置Java的源和目标兼容性版本 java { sourceCompatibility = JavaVersion.VERSION_23 targetCompatibility = JavaVersion.VERSION_23 }
步骤2:重新构建项目
修改完成后,点击IntelliJ右侧Gradle面板中的「Refresh all Gradle projects」按钮,或者在终端执行以下命令重新构建:
./gradlew clean build
这样就能消除两个编译任务的JVM版本不一致问题,正常运行程序。
内容的提问来源于stack exchange,提问作者Europa
相关产品推荐
相关产品推荐

