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

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

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


当前回答

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

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

其他回答

给Eclipse用户的另一个提示。在仔细检查了其他用户指出的jvm目标设置后,我仍然有同样的问题,这是由于缺少Kotlin运行时库造成的。例如,当使用spring initializr创建一个项目时,它不会自动添加。要添加它:右键单击您的项目->构建路径->添加库…->用户库,并添加org.jetbrains.kotlin.core.KOTLIN_CONTAINER

确保你刷新你的gradle项目之后(右击-> gradle ->刷新gradle项目)

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

 compileKotlin {
    kotlinOptions.jvmTarget = "1.8"
}

compileTestKotlin {
    kotlinOptions.jvmTarget = "1.8"
}

在Android Studio 4.3.2中,通过下面的过程添加是无效的。

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

原因是,Android studio无法在模块级Gradle文件中添加以下代码。请手动添加。

kotlinOptions {
    jvmTarget = "1.8"
}

只是为了插件,在android studio搜索目标JVM版本。它会直接带您到选项。

如果在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>
    ...

在我的例子中,只是像这样更改目标JVM版本:File > Setting > Kotlin Compiler > Target JVM Version > 1.8并没有帮助。但是,它解决了编译时错误。但在运行时失败。

我还必须在应用程序构建中添加以下内容。Gradle文件使它工作。

 android {
     // Other code here...
     kotlinOptions {
        jvmTarget = "1.8"
     }
 }