gradle生成中缺少kotlin编译器可嵌入
我正在尝试设置一个多项目gradle/kotlin构建,但出现以下错误:gradle生成中缺少kotlin编译器可嵌入,kotlin,gradle,Kotlin,Gradle,我正在尝试设置一个多项目gradle/kotlin构建,但出现以下错误: Could not determine the dependencies of task ':compileKotlin'. > Could not resolve all files for configuration ':kotlinCompilerClasspath'. > Cannot resolve external dependency org.jetbrains.kotlin:kotlin-
Could not determine the dependencies of task ':compileKotlin'.
> Could not resolve all files for configuration ':kotlinCompilerClasspath'.
> Cannot resolve external dependency org.jetbrains.kotlin:kotlin-compiler-embeddable:1.4.10 because no repositories are defined.
Required by:
project :
奇怪的是空的项目:
我简化的build.gradle.kts
如下所示:
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
plugins {
base
kotlin("jvm") version "1.4.10"
}
buildscript {
extra["kotlin_version"] = "1.4.10"
repositories {
jcenter()
mavenCentral()
}
}
subprojects {
apply(plugin = "kotlin")
repositories {
jcenter()
mavenCentral()
}
tasks.compileKotlin {
kotlinOptions.jvmTarget = "11"
}
tasks.compileTestKotlin {
kotlinOptions.jvmTarget = "11"
}
dependencies {
implementation("org.jetbrains.kotlin:kotlin-stdlib:${rootProject.extra["kotlin_version"]}")
implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8:${rootProject.extra["kotlin_version"]}")
}
}
我是否需要复制buildscript
部分中的存储库
导致上述错误的原因是什么?似乎您在
子项目
部分中完成的存储库{…}
配置就足够了,但它只应用于supbroject,而不应用于根项目本身(它也应用了Kotlin插件,并且其任务:compileKotlin
失败)
有两种方法可以解决这个问题
首先,您可以将repositories{…}
部分从subprojects{…}
移动到新块allprojects{…}
(因此也应用于根项目)
或者,如果您在根项目中实际上不需要Kotlin插件(即,您在根项目中没有Kotlin代码),您可以将其添加到您的插件声明中:
plugins {
kotlin("jvm").version("1.4.10").apply(false)
}
这回答了你的问题吗?