我已经看到在 build.gradle.kts 脚本中使用“按设置”委派的示例,但无论我尝试做什么,Gradle 都会提示设置是未解析的引用。如果我将“设置”更改为“项目”,Gradle 会很高兴。是否已弃用“按设置”?我查看了 Gradle 6.4.1 手册,它显示了这个委托(delegate)。我附上了一张图片,显示了 Initializr 生成的一个简单的 Spring Boot 应用程序,唯一的变化是添加了 gradle.properties 文件和 build.gradle.kts 文件中的委托(delegate)。我真的很感激关于这个问题的任何提示......我知道我可以使用“额外”属性或找到针对项目对象的属性,但是,坦率地说,这个问题让我很恼火,以至于我需要知道什么是错的! :P。感谢您的帮助...
最佳答案
project
委托(delegate)在类 ProjectDelegate
中定义。您的构建脚本是针对扩展 Project
的 KotlinBuildScript
实例进行评估的,因此委托(delegate)可用。
但是,当评估 settings.gradle
时,项目尚未配置,因此没有 KotlinBuildScript
的实例。相反,该脚本是根据 KotlinSettingsScript
的实例进行评估的,该实例扩展了 Settings
,它具有 settings
委托(delegate)。我不认为这个委托(delegate)可用于项目构建脚本。
在这两种情况下,委托(delegate)都是由扩展函数提供的,因为 Project
和 Settings
都是 Gradle 核心 API 的 Java 文件部分。
我希望这能回答您的问题。
关于kotlin - 构建.gradle.kts :10:28: Unresolved reference: settings,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62110152/