当试图通过IntelliJ运行示例CorDapp (GitHub CorDapp)时,我收到以下错误:
不能将使用JVM目标1.8构建的字节码内联为当前的字节码 使用JVM目标1.6构建
如何修改IntelliJ设置,使所有字节码都使用相同的JVM目标构建?
当试图通过IntelliJ运行示例CorDapp (GitHub CorDapp)时,我收到以下错误:
不能将使用JVM目标1.8构建的字节码内联为当前的字节码 使用JVM目标1.6构建
如何修改IntelliJ设置,使所有字节码都使用相同的JVM目标构建?
当前回答
在我的情况下,这段代码没有工作,直到我把应用插件:“kotlin-android”从底部移动到顶部。
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
android {
...
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
kotlinOptions {
jvmTarget = "1.8"
}
}
其他回答
对我来说,原因是这个配置在我的构建gradle是在一些模块和一些不是
android {
...
kotlinOptions {
val options = this as KotlinJvmOptions
options.jvmTarget = "1.8"
}
...
android {
对于Kotlin语言的Gradle (*. Gradle。KTS文件),添加这个:
android {
[...]
kotlinOptions {
this as KotlinJvmOptions
jvmTarget = "1.8"
}
}
我做了所有的步骤,但没有成功,问题是
implementation 'org.jetbrains.kotlin:kotlin-stdlib:1.4.32'
当我更新到
implementation 'org.jetbrains.kotlin:kotlin-stdlib:1.5.30'
显示了这个问题,当我回到
implementation 'org.jetbrains.kotlin:kotlin-stdlib:1.4.32'
问题解决了
这里所有的答案都是使用gradle,但如果有人像我这样结束在这里,需要回答maven:
<build>
<sourceDirectory>src/main/kotlin</sourceDirectory>
<testSourceDirectory>src/test/kotlin</testSourceDirectory>
<plugins>
<plugin>
<groupId>org.jetbrains.kotlin</groupId>
<artifactId>kotlin-maven-plugin</artifactId>
<version>${kotlin.version}</version>
<executions>
<execution>
<id>compile</id>
<phase>compile</phase>
<goals>
<goal>compile</goal>
</goals>
</execution>
<execution>
<id>test-compile</id>
<phase>test-compile</phase>
<goals>
<goal>test-compile</goal>
</goals>
</execution>
</executions>
<configuration>
<jvmTarget>11</jvmTarget>
</configuration>
</plugin>
</plugins>
</build>
从jetbrains原型到kotlin-jvm的变化是<configuration></configuration>指定jvmTarget。就我而言
在大多数情况下,这就足够了:
compileKotlin {
kotlinOptions.jvmTarget = "1.8"
}
compileTestKotlin {
kotlinOptions.jvmTarget = "1.8"
}
如果你已经声明了自定义Gradle任务,例如integrationTest,添加一个配置compile<YourTaskName>Kotlin:
compileIntegrationTestKotlin {
kotlinOptions.jvmTarget = "1.8"
}