使用额外属性的 build.gradle.kts 脚本中的错误

Emi*_*dde 6 kotlin gradlew

下面是一个小的 (build.gradle.kts) 脚本,它在第 9 行(类路径行)给出错误:无法在额外的属性扩展上获取属性“kotlinVersion”,因为它不存在

buildscript {
    extra["kotlinVersion"] = "1.2.70"

    repositories {
        jcenter()
    }

    dependencies {
      classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:${extra["kotlinVersion"]}")
    }
}
Run Code Online (Sandbox Code Playgroud)

我不明白为什么会出现这个错误。

Mak*_* V. 5

这对我有用:

buildscript {
    extra["kotlin_version"] = "1.3.61"

    repositories {
        google()
        jcenter()

    }
    dependencies {
        classpath("com.android.tools.build:gradle:3.5.3")
        classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:${extra["kotlin_version"]}")
        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        google()
        jcenter()

    }
}
Run Code Online (Sandbox Code Playgroud)


小智 5

您必须使用“project.extra[...]”而不是“extra[...]”

    buildscript {
            extra["kotlin_version"] = "1.3.72"

            repositories {
                jcenter()
            }

            dependencies {
                classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:${project.extra["kotlin_version"]}")
            }
        }
Run Code Online (Sandbox Code Playgroud)