您可以使用 IntelliJ 原生匯入器Eclipse Buildship 在 IDE 中開啟此範例。

此範例顯示如何為 Gradle 中的 JVM 專案設定工具鏈。您的專案通常會鎖定特定 java 版本。使用工具鏈,在 Gradle 適當地處理設定任務(例如編譯和測試)時,設定所需的 java 版本非常簡單。

具體來說,我們在 buildSrc 中新增一個慣例外掛,以便在多個子專案之間共用設定

buildSrc/src/main/kotlin/myproject.java-conventions.gradle.kts
java {
    toolchain {
        languageVersion = JavaLanguageVersion.of(11)
    }
}
buildSrc/src/main/groovy/myproject.java-conventions.gradle
java {
    toolchain {
        languageVersion = JavaLanguageVersion.of(11)
    }
}

雖然大多數模組都適用於預設值,但 list 子專案會覆寫預設值,因為它有更具體的要求。

list/build.gradle.kts
tasks.withType<JavaCompile>().configureEach {
    javaCompiler = javaToolchains.compilerFor {
        languageVersion = JavaLanguageVersion.of(8)
    }
}

tasks.register<Test>("testsOn17") {
    javaLauncher = javaToolchains.launcherFor {
        languageVersion = JavaLanguageVersion.of(17)
    }
}
list/build.gradle
tasks.withType(JavaCompile).configureEach {
    javaCompiler = javaToolchains.compilerFor {
        languageVersion = JavaLanguageVersion.of(8)
    }
}

task('testsOn17', type: Test) {
    javaLauncher = javaToolchains.launcherFor {
        languageVersion = JavaLanguageVersion.of(17)
    }
}
$ ./gradlew check

BUILD SUCCESSFUL
9 actionable tasks: 9 executed

如需更多資訊,請參閱 工具鏈章節