Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Kotlin 如何将init脚本中定义的类导入build.gradle?_Kotlin_Gradle_Gradle Kotlin Dsl - Fatal编程技术网

Kotlin 如何将init脚本中定义的类导入build.gradle?

Kotlin 如何将init脚本中定义的类导入build.gradle?,kotlin,gradle,gradle-kotlin-dsl,Kotlin,Gradle,Gradle Kotlin Dsl,我正在用init脚本编写gradle扩展,但我不知道如何在build.gralde中引用该扩展 // init.gradle.kts allprojects { extensions.create("message", MessageExtension::class) } open class MessageExtension(objects: ObjectFactory) { // A configurable greeting val greet

我正在用init脚本编写gradle扩展,但我不知道如何在build.gralde中引用该扩展

// init.gradle.kts


allprojects {
  extensions.create("message", MessageExtension::class)
}

open class MessageExtension(objects: ObjectFactory) {
    // A configurable greeting
    val greeting: Property<String> = objects.property()
}
但是build.gradle.kts对
消息的引用未解析

// build.gradle.kts
   message.greeting = "hi"
// ^ Unresolved reference: message
// build.gradle.kts
val messages = project.extensions.findByType(MessageExtension::class)
//                                           ^ Unresolved reference: MessageExtension
如果我尝试按类型查找扩展,则类也无法解析

// build.gradle.kts
   message.greeting = "hi"
// ^ Unresolved reference: message
// build.gradle.kts
val messages = project.extensions.findByType(MessageExtension::class)
//                                           ^ Unresolved reference: MessageExtension

我已尝试在init.gradle.kts中声明一个
包并将其导入,但导入也未解决。

在您的
build.gradle.kts中尝试此操作:

// build.gradle.kts
   message.greeting = "hi"
// ^ Unresolved reference: message
// build.gradle.kts
val messages = project.extensions.findByType(MessageExtension::class)
//                                           ^ Unresolved reference: MessageExtension
the<MessageExtension>().greeting = "hi"
the()

不确定这是否可行。也许这与此相关:MessageExtension未解析,它与findByType等效。