I want to split my project into subprojects. The default Gradle setting from the IntelliJ IDE is:
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
plugins {
kotlin("jvm") version "1.3.50"
}
group = "project"
version = "0.0.1-SNAPSHOT"
repositories {
mavenCentral()
}
dependencies {
implementation(kotlin("stdlib-jdk8"))
}
tasks.withType<KotlinCompile> {
kotlinOptions.jvmTarget = "1.8"
}
这种设置可以编译.但我不想在每个子项目中重复这些代码.所以我把build.gradle.kts改成了
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
subprojects {
plugins {
kotlin("jvm") version "1.3.50"
}
group = "project"
version = "0.0.1-SNAPSHOT"
repositories {
mavenCentral()
}
dependencies {
implementation(kotlin("stdlib-jdk8"))
}
tasks.withType<KotlinCompile> {
kotlinOptions.jvmTarget = "1.8"
}
}
but I get the exception:
e:c:[.]\build.gradle.kts:1:12:未解析引用:JetBrains e: C:[.]\build.gradle.kts:16:9:未解析引用:实现 E:C:[.]\build.gradle.kts:19:20:未解析引用: KotlinCompile e:c:[.]\build.gradle.kts:19:35:类型不匹配: 推断的类型是()->;单位,但类<;TypeVariable(S)!>;!是意料之中的 E:C:[.]\build.gradle.kts:20:9:未解析引用:kotlinOptions
FAILURE: Build failed with an exception.
其中:生成文件'C:[…]\建造.格雷德尔.kts系列:1
错误:脚本编译错误:
第01行:导入组织.喷气式飞机.Kotlin .格雷德尔.任务.科特尔不完整文件
第16行:实现(kotlin("stdlib-jdk8"))
第19行:任务.withType{
Line 19: tasks.withType { ^ Type mismatch: inferred type is () -> Unit but Class<TypeVariable(S)!>! was expected
Line 20: kotlinOptions.jvmTarget = "1.8" ^ Unresolved reference: kotlinOptions
5个错误
try :使用--stacktrace选项运行以获取堆栈跟踪.使用--info或--debug选项运行以获得更多日志(log)输出.运行--扫描以获得完整的洞察力.
Get more help at https://help.gradle.org
BUILD FAILED in 1s
我想有一个简单的语法错误,但我找不到.