Smu*_*aco 7 kotlin gradle-kotlin-dsl
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)]
}
Run Code Online (Sandbox Code Playgroud)
我也使用 Kotlin 的标准库作为依赖项,我只想在一个地方指定版本,但是当我尝试像上面在 build.gradle.kts 中所做的那样时,我收到了您在评论中看到的错误。我该如何解决这个问题?
请参阅Gradle 文档中的约束语法:
该
plugins {}块不支持任意代码。它受到约束,以便幂等(每次产生相同的结果)和无副作用(Gradle 可以随时安全执行)...
并链接到插件版本管理以解决该问题(根据您的情况)
pluginManagement {
plugins {
id("kotlin").version(kotlinVersion)
}
}
Run Code Online (Sandbox Code Playgroud)
我相信应该有效。
或者根据
PluginDependencySpec.version(String) 允许插入字符串,但替换值必须来自 Gradle 属性。
看来如果你kotlinVersion在gradle.properties其中声明可以用作
version("${kotlinVersion}")
Run Code Online (Sandbox Code Playgroud)
在plugins {}。
| 归档时间: |
|
| 查看次数: |
1535 次 |
| 最近记录: |