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

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

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


当前回答

对我来说,从实现'org.jetbrains.kotlin:kotlin-stdlib:1.5.30'到实现'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。就我而言

如果使用Visual Studio Code**与Kotlin扩展,进入插件管理Crtl + Shift + x,输入Kotlin,然后点击管理(小齿轮)>>配置扩展设置

on Kotlin >> Compiler >> Jvm:目标-键入java版本。在我的情况下,只输入1.8

然后重新启动:-)

** vscode或只是Linux的“代码”

您可以通过以下方法修复此问题:

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

当其他解决方案不适合你时(在编译器设置上更改JVM版本并将jvmTarget添加到build.gradle中),因为你的.iml文件试图强制它们的配置,你可以从项目设置中更改目标平台。

打开文件>项目结构 进入项目设置下的Facets 如果它是空的,然后点击小的+按钮 单击您的Kotlin模块/模块 将目标平台更改为JVM 1.8(同时最好检查使用项目设置选项)

在我的案例中,文件>设置> Kotlin编译器>目标JVM版本> 1.8