build.gradle.kts:10:28:未解决的参考:设置
build.gradle.kts:10:28: Unresolved reference: settings
我看过在 build.gradle.kts 脚本中使用 "by settings" 委托的示例,但无论我尝试做什么,Gradle 都会抱怨设置是一个未解析的引用。如果我将 'settings' 更改为 'project',Gradle 很高兴。是否已弃用 'by settings'?我查看了 Gradle 6.4.1 手册,它显示了这个委托。我附上了一张图片,显示了 Initializr 生成的一个简单的 Spring 启动应用程序,唯一的变化是添加了 gradle.properties 文件和 build.gradle.kts 文件中的委托。我真的很感激关于这个问题的任何提示......我知道我可以使用 'extra' 属性或找到 属性 针对项目对象,但坦率地说,这个问题让我很恼火我需要知道哪里出了问题! :P。感谢您的帮助...
project
委托在 class ProjectDelegate
中定义。您的构建脚本是针对扩展 Project
的 KotlinBuildScript
实例进行评估的,因此委托可用。
但是,在评估 settings.gradle
时,项目尚未配置,因此没有 KotlinBuildScript
的实例。相反,该脚本是针对 KotlinSettingsScript
的实例进行评估的,该实例扩展了 Settings
,它具有 settings
委托。我不认为这个委托可用于项目构建脚本。
在这两种情况下,委托都是由扩展函数提供的,因为 Project
和 Settings
都是 Gradle 核心文件的 Java 部分 API.
希望这能回答您的问题。
我看过在 build.gradle.kts 脚本中使用 "by settings" 委托的示例,但无论我尝试做什么,Gradle 都会抱怨设置是一个未解析的引用。如果我将 'settings' 更改为 'project',Gradle 很高兴。是否已弃用 'by settings'?我查看了 Gradle 6.4.1 手册,它显示了这个委托。我附上了一张图片,显示了 Initializr 生成的一个简单的 Spring 启动应用程序,唯一的变化是添加了 gradle.properties 文件和 build.gradle.kts 文件中的委托。我真的很感激关于这个问题的任何提示......我知道我可以使用 'extra' 属性或找到 属性 针对项目对象,但坦率地说,这个问题让我很恼火我需要知道哪里出了问题! :P。感谢您的帮助...
project
委托在 class ProjectDelegate
中定义。您的构建脚本是针对扩展 Project
的 KotlinBuildScript
实例进行评估的,因此委托可用。
但是,在评估 settings.gradle
时,项目尚未配置,因此没有 KotlinBuildScript
的实例。相反,该脚本是针对 KotlinSettingsScript
的实例进行评估的,该实例扩展了 Settings
,它具有 settings
委托。我不认为这个委托可用于项目构建脚本。
在这两种情况下,委托都是由扩展函数提供的,因为 Project
和 Settings
都是 Gradle 核心文件的 Java 部分 API.
希望这能回答您的问题。