gpt4 book ai didi

variables - 如何在 build.gradle.kts 脚本的插件 block 中参数化 Kotlin 版本?

转载 作者:行者123 更新时间:2023-12-02 11:57:41 27 4
gpt4 key购买 nike

在下面的脚本中:

val kotlinVersion by extra ("1.3.61")

println("Version "+kotlinVersion)

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

最佳答案

简短的回答:
目前无法从传递给 plugins 的 lambda 内部访问外部范围的任何内容。 .
长答案:
如果您使用 IntelliJ,它将向您显示更多信息:

'val kotlinVersion: String' can't be called in this context by implicit receiver. Use the explicit one if necessary.


定义 this@Build_gradle 的外部范围 ( kotlinVersion )在 this@plugins 中不可用范围,所以你必须定义 kotlinVersion在插件 lambda 中。
由于 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
}

关于variables - 如何在 build.gradle.kts 脚本的插件 block 中参数化 Kotlin 版本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60165254/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com