Kotlin DSL“;从「;找不到关键字
我一直在尝试发布一个包。问题是,我在尝试运行Gradle时遇到以下错误:Kotlin DSL“;从「;找不到关键字,kotlin,gradle,package,gradle-kotlin-dsl,github-package-registry,Kotlin,Gradle,Package,Gradle Kotlin Dsl,Github Package Registry,我一直在尝试发布一个包。问题是,我在尝试运行Gradle时遇到以下错误: Script compilation error: Line 49: from(components["java"]) ^ Unresolved reference. None of the following candidates is applicable because of receiver type mismatch:
Script compilation error:
Line 49: from(components["java"])
^ Unresolved reference. None of the following candidates is applicable because of receiver type mismatch:
public inline fun <reified T : VersionControlSpec> VcsMapping.from(noinline configureAction: TypeVariable(T).() -> Unit): Unit defined in org.gradle.kotlin.dsl
public inline fun <T : VersionControlSpec> VcsMapping.from(type: KClass<TypeVariable(T)>, configureAction: Action<in TypeVariable(T)>): Unit defined in org.gradle.kotlin.dsl
如何修复此问题?您没有提供出版物的类型,因此只使用基本的
出版物from()
是MavenPublication
的函数,因此需要明确指定需要MavenPublication
:
publications {
register<MavenPublication>("gpr") {
from(components["java"])
}
}
出版物{
注册(“gpr”){
来自(组件[“java”])
}
}
嗯,Idk,为什么我认为是一个关键词。这是可行的,但我仍然认为文件应该反映这一点。感谢您的回答^^文档中关于发布()的所有示例都指定了Kotlin和Gradle DSL的发布类型。也许在过去它不是必需的,然后它就改变了,idk。另外,我相信Gradle构建文件中没有特殊的关键字。有Kotlin/Gradle的关键字,只有函数和属性。
publications {
register<MavenPublication>("gpr") {
from(components["java"])
}
}