当试图通过IntelliJ运行示例CorDapp (GitHub CorDapp)时,我收到以下错误:

不能将使用JVM目标1.8构建的字节码内联为当前的字节码 使用JVM目标1.6构建

如何修改IntelliJ设置,使所有字节码都使用相同的JVM目标构建?


当前回答

对我来说,从实现'org.jetbrains.kotlin:kotlin-stdlib:1.5.30'到实现'org.jetbrains.kotlin:kotlin-stdlib:1.4.32'

其他回答

这有助于我的项目构建,将此添加到模块构建。gradle文件:

compileOptions {
        sourceCompatibility 1.8
        targetCompatibility 1.8
    }
    tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile).all {
        kotlinOptions {
            jvmTarget = "1.8"
        }
    }

我通过导航到gradle来解决这个问题。构建文件,并更新kotlin插件版本。

对我来说,最初的配置是:

plugins {
    id 'org.jetbrains.kotlin.android' version '1.6.10' apply false
}

所以我把插件的版本改成了最新版本:

plugins {
    id 'org.jetbrains.kotlin.android' version '1.7.10' apply false
}

下一个解决方案帮助了我。添加到build.gradle

 compileKotlin {
    kotlinOptions.jvmTarget = "1.8"
}

compileTestKotlin {
    kotlinOptions.jvmTarget = "1.8"
}

在我的例子中,jvmTarget已经在构建中设置了。Gradle文件如下。

tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile).all {
    kotlinOptions {
        jvmTarget = "1.8"
    }
}

但我的问题依然存在。 最后,在Preferences > Other Settings > Kotlin Compiler >目标JVM版本后,将目标JVM版本从1.6更改为1.8。见附图,

您可以通过以下方法修复此问题:

打开IntelliJ首选项 去构建,执行,部署>编译器> Kotlin编译器但其他设置> Kotlin编译器如果Android Studio > 3.4 将目标JVM版本更改为1.8 单击Apply