gpt4 book ai didi

kotlin - 为什么我不能在插件{}中使用val?

转载 作者:行者123 更新时间:2023-12-02 13:27:49 26 4
gpt4 key购买 nike

val kotlinVersion = "1.3.72"
plugins {
// Error: 'val kotlinVersion: String' can't be called in this context by implicit receiver. Use the explicit one if necessary
kotlin("jvm").version(kotlinVersion)]
}
我也使用Kotlin的标准库作为依赖项,我只想在一个地方指定版本,但是当我尝试像在build.gradle.kts中进行的操作时,就会收到您在注释中看到的错误。我该如何解决?

最佳答案

请参阅Gradle文档中的Constrained Syntax:

The plugins {} block does not support arbitrary code. It is constrained, in order to be idempotent (produce the same result every time) and side effect free (safe for Gradle to execute at any time)...


并链接到 Plugin Version Management以解决该问题
pluginManagement {
plugins {
id("kotlin").version(kotlinVersion)
}
}
我相信应该可以工作。
或根据

Interpolated strings are permitted for PluginDependencySpec.version(String), however replacement values must be sourced from Gradle properties.


看来,如果您在 kotlinVersion中声明 gradle.properties,它可以用作
version("${kotlinVersion}")
plugins {}中。

关于kotlin - 为什么我不能在插件{}中使用val?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63190420/

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