使用工具链示例
版本 9.0.0
您可以在支持Gradle的IDE中打开此示例。 |
本示例展示了如何在 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)
}
}
tasks.register('testsOn17', Test) {
javaLauncher = javaToolchains.launcherFor {
languageVersion = JavaLanguageVersion.of(17)
}
}
$ ./gradlew check BUILD SUCCESSFUL 9 actionable tasks: 9 executed
欲了解更多信息,请参阅工具链章节。