当试图通过IntelliJ运行示例CorDapp (GitHub CorDapp)时,我收到以下错误:
不能将使用JVM目标1.8构建的字节码内联为当前的字节码 使用JVM目标1.6构建
如何修改IntelliJ设置,使所有字节码都使用相同的JVM目标构建?
当试图通过IntelliJ运行示例CorDapp (GitHub CorDapp)时,我收到以下错误:
不能将使用JVM目标1.8构建的字节码内联为当前的字节码 使用JVM目标1.6构建
如何修改IntelliJ设置,使所有字节码都使用相同的JVM目标构建?
当前回答
给Eclipse用户的另一个提示。在仔细检查了其他用户指出的jvm目标设置后,我仍然有同样的问题,这是由于缺少Kotlin运行时库造成的。例如,当使用spring initializr创建一个项目时,它不会自动添加。要添加它:右键单击您的项目->构建路径->添加库…->用户库,并添加org.jetbrains.kotlin.core.KOTLIN_CONTAINER
确保你刷新你的gradle项目之后(右击-> gradle ->刷新gradle项目)
其他回答
在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版本。它会直接带您到选项。
请将此代码添加到app/build.gradle中的android部分
compileOptions {
sourceCompatibility = JavaVersion.VERSION_1_8
targetCompatibility = JavaVersion.VERSION_1_8
}
kotlinOptions {
jvmTarget = JavaVersion.VERSION_1_8
}
在大多数情况下,这就足够了:
compileKotlin {
kotlinOptions.jvmTarget = "1.8"
}
compileTestKotlin {
kotlinOptions.jvmTarget = "1.8"
}
如果你已经声明了自定义Gradle任务,例如integrationTest,添加一个配置compile<YourTaskName>Kotlin:
compileIntegrationTestKotlin {
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。见附图,
这有助于我的项目构建,将此添加到模块构建。gradle文件:
compileOptions {
sourceCompatibility 1.8
targetCompatibility 1.8
}
tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile).all {
kotlinOptions {
jvmTarget = "1.8"
}
}