编译报错:kspDebugKotlin与compileDebugJavaWithJavac JVM目标版本不匹配
问题解决:KSP与Java编译任务JVM版本不兼容报错
构建执行:app:kspDebugKotlin任务失败,核心原因是compileDebugJavaWithJavac任务的JVM目标版本(1.8)与kspDebugKotlin任务的目标版本(17)不匹配,两者必须设置为相同Java版本。
解决方法
方案一:统一升级至Java 17(推荐)
将所有编译相关的JVM目标版本统一为17,适配新版KSP的要求,修改build.gradle(或build.gradle.kts)中的配置:
compileOptions { sourceCompatibility JavaVersion.VERSION_17 targetCompatibility JavaVersion.VERSION_17 } kotlinOptions { jvmTarget = '17' }
如果使用Kotlin DSL,对应配置为:
compileOptions { sourceCompatibility = JavaVersion.VERSION_17 targetCompatibility = JavaVersion.VERSION_17 } kotlinOptions { jvmTarget = "17" }
方案二:强制KSP使用Java 1.8(仅适配旧版KSP)
若需保留Java 1.8环境,可单独为KSP指定JVM目标版本,在build.gradle中添加:
ksp { jvmTarget = '1.8' }
修改完成后,执行./gradlew clean清理缓存,再重新构建项目即可。
内容的提问来源于stack exchange,提问作者Sohaib Ahmed
相关产品推荐
相关产品推荐

