当试图通过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,假设你下载了Kotlin插件:
右键单击项目->属性-> Kotlin Compiler ->启用项目特定设置-> JVM目标版本“1.8”
其他回答
对于Kotlin语言的Gradle (*. Gradle。KTS文件),添加这个:
android {
[...]
kotlinOptions {
this as KotlinJvmOptions
jvmTarget = "1.8"
}
}
在我的例子中,只是像这样更改目标JVM版本:File > Setting > Kotlin Compiler > Target JVM Version > 1.8并没有帮助。但是,它解决了编译时错误。但在运行时失败。
我还必须在应用程序构建中添加以下内容。Gradle文件使它工作。
android {
// Other code here...
kotlinOptions {
jvmTarget = "1.8"
}
}
请将此代码添加到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。见附图,