kotlin - Kotlin无法内联字节码

标签 kotlin gradle gradle-kotlin-dsl

我正在尝试将我的项目从groovy gradle dsl迁移到kotlin gradle dsl。我写了这样的代码:

buildscript {
    val kotlin_version = "1.3.61"

    (project.rootProject.extensions.getByName("ext") as ExtraPropertiesExtension).set("kotlin_version", kotlin_version)

    repositories {
        mavenCentral()
    }
    dependencies {
        classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version")
    }
}

plugins {
    java
    idea
    kotlin("jvm") version "1.3.72"
}


allprojects {

    apply(plugin = "java")
    apply(plugin = "kotlin")
    apply(plugin = "idea")

    tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile::class.java).all {
        sourceCompatibility = JavaVersion.VERSION_1_8.toString()
        targetCompatibility = JavaVersion.VERSION_1_8.toString()

        kotlinOptions {
            freeCompilerArgs = listOf("-Xjvm-default=enable")
            jvmTarget = "1.8"
            apiVersion = "1.3"
            languageVersion = "1.3"
        }
    }


    configure<JavaPluginConvention> {
        sourceCompatibility = JavaVersion.VERSION_1_8
    }

    repositories {
        mavenCentral()
        jcenter()
    }
}

一切正常,但是IntelliJ IDEA在此处突出显示ideajava:
plugins {
    java
    idea
    kotlin("jvm") version "1.3.72"
}

configure在这里:
configure<JavaPluginConvention> {
    sourceCompatibility = JavaVersion.VERSION_1_8
}

有错误
“无法将使用JVM target 1.8构建的字节码内联到使用JVM target 1.6构建的字节码中。请指定适当的'-jvm-target'选项”

因此,我应该在哪里指定正确的“-jvm-target”选项,或者应该做什么?

最佳答案

转到build.gradle并插入如下所示的选项:

compileKotlin {
    kotlinOptions.jvmTarget = "1.8"
}

而且它将成功。

关于kotlin - Kotlin无法内联字节码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61973756/

相关文章:

gradle - 如何在 Gradle Kotlin DSL 中使用来自 gradle.properties 的插件版本?

android - Kotlin Coroutine 等待 Retrofit Response

javafx - 将 ListView 绑定(bind)到 ListProperty

更改 fragment 后隐藏的Android FAB HideBottomViewOnScrollBehavior statys

Android 房间数据库 - 不确定如何将 Cursor 转换为此方法的返回类型

kotlin - 使用 Gradle (Kotlin DSL) 导入源依赖项

android - 无法解析 com.google.firebase :firebase-core:10. 0.1

android - 没有静态方法 isDeviceProtectedStorage 运行时错误

android - Android Studio:尝试了解编译和实现之间的区别

gradle - Gradle Kotlin DSL中的closureOf和delegateClosureOf有什么区别