当试图通过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编译器>目标JVM版本> 1.8
其他回答
在我的例子中,只是像这样更改目标JVM版本:File > Setting > Kotlin Compiler > Target JVM Version > 1.8并没有帮助。但是,它解决了编译时错误。但在运行时失败。
我还必须在应用程序构建中添加以下内容。Gradle文件使它工作。
android {
// Other code here...
kotlinOptions {
jvmTarget = "1.8"
}
}
这里所有的答案都是使用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。就我而言
在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版本。它会直接带您到选项。
您可能需要同时设置compileKotlin和compileTestKotlin。 这适用于gradle 6.5.1。
compileKotlin {
kotlinOptions {
languageVersion = "1.2"
apiVersion = "1.2"
jvmTarget = "1.8"
javaParameters = true // Useful for reflection.
}
}
compileTestKotlin {
kotlinOptions {
languageVersion = "1.2"
apiVersion = "1.2"
jvmTarget = "1.8"
javaParameters = true // Useful for reflection.
}
}
我做了所有的步骤,但没有成功,问题是
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'
问题解决了