Gradle Build中“compileDevelogJavaWithJavac”和“kspDevelogKotlin”之间的JVM目标兼容性不匹配

pdsfdshx  于 12个月前  发布在  Java
关注(0)|答案(1)|浏览(154)

我正在处理一个Android项目,在尝试构建项目时遇到了JVM目标兼容性设置不匹配的问题。错误消息如下:
“compileDevigJavaWithJavac”任务(当前目标为17)和“kspDevigKotlin”任务(当前目标为1.8)jvm目标兼容性应设置为相同的Java版本。
以下是我的build.gradle文件中的相关部分:

android {
    compileOptions {
        // Flag to enable support for the new language APIs
        isCoreLibraryDesugaringEnabled = true
    }
    kotlinOptions {
        freeCompilerArgs = listOf("-Xjvm-default=all")
    }

    kotlin {
        jvmToolchain(17)
    }

    composeOptions { kotlinCompilerExtensionVersion = "1.5.2" }
}

字符串
我正在使用这个ksp插件:

plugins {
    id("com.android.application")
    id("org.jetbrains.kotlin.android")
    kotlin("kapt")
    id("com.google.devtools.ksp").version("1.9.0-1.0.13")
}


项目级插件:

plugins {
id("com.android.application") version "8.2.0" apply false
    id("com.android.library") version "8.2.0" apply false
    id("org.jetbrains.kotlin.android") version "1.9.0" apply false
}


我已经尝试使用jvmToolchain(17)将Kotlin的JVM目标设置为17,但似乎“kspDevelogKotlin”任务仍然针对Java 1.8。我查看了Kotlin编译器的Android Studio设置,并专门将其设置为使用17。
如何确保这两个任务针对相同的Java版本(本例中为Java 17)?Gradle脚本中是否需要任何其他配置来对齐这些目标?奇怪的是,我创建了一个单独的项目,使用相同的库和build.gradle文件,但实际上源代码为空,项目编译正常。我检查了gradle.properties是否有任何差异,没有任何差异。
任何帮助或建议将不胜感激!

xkrw2x1b

xkrw2x1b1#

在我更新了一个领域插件版本后,错误消息消失了。

相关问题