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

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

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


当前回答

对于Kotlin语言的Gradle (*. Gradle。KTS文件),添加这个:

android {
    [...]
    kotlinOptions {
        this as KotlinJvmOptions
        jvmTarget = "1.8"
    }
}

其他回答

对我来说,原因是这个配置在我的构建gradle是在一些模块和一些不是

android {  
...      
kotlinOptions {
        val options = this as KotlinJvmOptions
        options.jvmTarget = "1.8"
    }
...
android {

我通过导航到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
}

如果在Spring Boot/Kotlin项目中遇到这个消息,只需在pom.xml中将属性“Kotlin .compiler. jvmtarget”设置为“1.8”。

    <properties>
        <kotlin.version>1.3.70</kotlin.version>
        <kotlin.compiler.jvmTarget>1.8</kotlin.compiler.jvmTarget>
    </properties>
    ...

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

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

在我的案例中,文件>设置> Kotlin编译器>目标JVM版本> 1.8