找不到@JvmDefault由项目变量分配的sourceCompatibility / targetCompatibility

时间:2018-11-12 06:53:43

标签: android kotlin build.gradle default-method jvm-default

我想在我的Kotlin界面中为方法提供默认实现:

interface INavItem : Comparable<INavItem> {

    val order: Int

    @JvmDefault
    override fun compareTo(other: INavItem): Int = order.compareTo(other.order)
}

@JvmDefault突出显示并显示错误:

  仅从JVM目标1.8开始才支持

'@ JvmDefault'。重新编译为-jvm-target 1.8


root目标构建文件中存在

JVM target 1.8设置:

project.ext {
    javaVersion = JavaVersion.VERSION_1_8
    // other properties
}

并且我在 module 构建文件中使用它:

android {

    compileOptions {
        sourceCompatibility rootProject.ext.javaVersion
        targetCompatibility rootProject.ext.javaVersion
    }
    // ...
}

注意:Java源代码中提供了Java 8功能(lambda等)。


是否存在通过Kotlin皮棉可见的变量分配source/targetCompatibility的任何方式?

0 个答案:

没有答案