错误:jvm目标兼容性应设置为相同的Java版本

d7v8vwbk  于 7个月前  发布在  Java
关注(0)|答案(2)|浏览(149)

我是Android新手。在运行模块时,我得到以下错误:
任务“:info:compileKotlin”执行失败。
'compileJava'任务(当前目标为1.7)和'compileKotlin'任务(当前目标为17)jvm目标兼容性应设置为相同的Java版本。
请给我解决方案
我尝试在项目结构中更改Gradle插件。和gradle jdk但什么也没有发生

cbjzeqam

cbjzeqam1#

您遇到的错误消息表明为compileJava任务设置的Java目标版本与Gradle项目中的compileKotlin任务不匹配。要解决此问题,您需要确保将这两个任务配置为使用相同的Java版本。
根据https://www.oracle.com/java/technologies/javase/jdk7-naming.html,在JDK 7和JRE 7中,版本字符串是1.7和1.7.0,所以你应该使用“1.7”作为Kotlin的编译目标,而不是“17”!
我觉得应该是这样的:

kotlinOptions {
    jvmTarget = '1.7'
}
ou6hu8tu

ou6hu8tu2#

我可以通过使用下面的代码来解决这个问题

subprojects {
    afterEvaluate{
        tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile) {
            if (project.plugins.hasPlugin("com.android.application") || project.plugins.hasPlugin("com.android.library")) {
                kotlinOptions.jvmTarget = android.compileOptions.sourceCompatibility
            } else {
                kotlinOptions.jvmTarget = sourceCompatibility
            }
        }
    }
}

相关问题