使用工具链示例
版本 8.7
您可以在 IDE 中使用 IntelliJ 原生导入器 或 Eclipse Buildship 打开此示例。 |
此示例展示了如何在 Gradle 中为 JVM 项目配置工具链。您的项目通常会针对特定的 Java 版本。使用工具链,您可以轻松设置所需的 Java 版本,同时 Gradle 会相应地处理任务设置(例如编译和测试)。
具体来说,我们在 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
有关更多信息,请参阅 工具链章节。