【发布时间】:2023-03-05 06:13:01
【问题描述】:
如何配置 Gradle 以编译与源类不同的 Java 版本的测试类?
我正在为 Java 1.7 编写一个项目,我想在我的测试中使用 Java 1.8,这样我就可以使用 Lambda Behave。 In Maven this is pretty straightforward,但我看不到如何在 Gradle 中实现相同的结果。
【问题讨论】:
如何配置 Gradle 以编译与源类不同的 Java 版本的测试类?
我正在为 Java 1.7 编写一个项目,我想在我的测试中使用 Java 1.8,这样我就可以使用 Lambda Behave。 In Maven this is pretty straightforward,但我看不到如何在 Gradle 中实现相同的结果。
【问题讨论】:
如果您使用的是Kotlin DSL:
plugins {
`java`
}
java {
sourceCompatibility = JavaVersion.VERSION_1_7
targetCompatibility = JavaVersion.VERSION_1_7
}
tasks {
compileTestJava {
sourceCompatibility = JavaVersion.VERSION_1_8.toString()
targetCompatibility = JavaVersion.VERSION_1_8.toString()
}
}
【讨论】:
当然,在发布问题后我偶然发现了答案!
apply plugin: "java"
compileJava {
sourceCompatibility = 1.7
}
compileTestJava {
sourceCompatibility = 1.8
}
【讨论】: