8

升级到 Gradle 4.10 时,尝试编译时遇到以下错误:

Execution failed for task ':buildSrc:compileKotlin'.
> Could not resolve all files for configuration ':buildSrc:kotlinCompilerPluginClasspath'.
   > Could not find org.jetbrains.kotlin:kotlin-scripting-compiler-embeddable:1.2.60.
     Searched in the following locations: file:/Users/<user-name>/.gradle/caches/4.10/embedded-kotlin-repo-1.2.60-2/repo/org/jetbrains/kotlin/kotlin-scripting-compiler-embeddable/1.2.60/kotlin-scripting-compiler-embeddable-1.2.60.jar
     Required by:
         project :buildSrc
   > Could not find org.jetbrains.kotlin:kotlin-sam-with-receiver:1.2.60.
     Required by:
         project :buildSrc

请注意,我将buildSrc其用作 Gradle 编译过程的一部分。

4

2 回答 2

20

这是由于Kotlin DSL 1.0中的一项重大更改:

kotlin-dsl 插件现在需要声明一个存储库

在 Kotlin 1.2.60 中,驱动 kotlin 编译器的 Kotlin Gradle 插件需要额外的依赖项,这些依赖项不是 Gradle Kotlin DSL 脚本单独需要的,也没有嵌入到 Gradle 中。

这可以通过在应用了 kotlin-dsl 插件的项目上添加一个包含 Kotlin 编译器依赖项的存储库来解决:repositories { jcenter() }

于 2018-08-28T16:42:53.570 回答
13

build.gradle.kts 应该包含

plugins {
    `kotlin-dsl`
}
// Required since Gradle 4.10+.
repositories {
    jcenter()
}
于 2019-07-26T12:34:58.170 回答