在下面的脚本中:

val kotlinVersion by extra ("1.3.61")

println("Version "+kotlinVersion)

plugins {
    kotlin("jvm") version kotlinVersion
}
正确打印了kotlinVersion变量。但是,它在plugins块中无法识别,并且出现以下错误:
e: /home/achadde/sources/kotlin/minichain/build.gradle.kts:6:27: Unresolved reference: kotlinVersion
我怎样才能解决这个问题?

最佳答案

如果您使用IntelliJ,它将向您显示更多信息:



定义this@Build_gradle的外部范围(kotlinVersion)在this@plugins范围中不可用,因此您必须在插件lambda内定义kotlinVersion

由于extra委托(delegate)不可用,因此您也无法使用它:

plugins {
    val kotlinVersion = "1.3.61"
    // ...
}

不幸的是,使用标签不起作用:
val kotlinVersion by extra ("1.3.61")

plugins {
    // ... Unresolved reference: kotlinVersion
    kotlin("jvm") version this@Build_gradle.kotlinVersion
}

08-26 07:47