Gradle - 源代码和测试版本不同 JDK

Gradle - Different JDK Version for Source and Test

我如何配置 Gradle 为不同于源 类 的 Java 版本编译测试 类?

我正在为 Java 1.7 编写一个项目,我想在我的测试中使用 Java 1.8,这样我就可以使用 Lambda Behave。 In Maven this is pretty straightforward,但我看不到如何在 Gradle 中获得相同的结果。

当然,在发布问题后我立即找到了答案!

apply plugin: "java"

compileJava {
    sourceCompatibility = 1.7
}

compileTestJava {
    sourceCompatibility = 1.8
}

如果您正在使用 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()
    }
}