如何使用 Bazel 指定 Java 版本

swi*_*per 5 java bazel

我正在使用 Bazel 来构建和测试 Java 项目。似乎是用从某处下载的JDK10编译的。想要指定它使用 JDK13。

我该怎么做呢?我可以将其放入 .bazelrc 或 BUILD 文件中吗?确实遇到这个麻烦了。

use*_*975 4

对于 bazel 5.0.0+:

可以在命令行或 .bazelrc 中指定版本:

build --java_language_version=17

请参阅https://bazel.build/docs/bazel-and-java#config-source-code

对于 5.0.0 之前的 bazel:

Bazel 附带了一些已经定义的工具链,它们可以在命令行或 .bazelrc 中指定:

build --java_toolchain=@bazel_tools//tools/jdk:toolchain_java11 --host_java_toolchain=@bazel_tools//tools/jdk:toolchain_java11

不幸的是还没有标准的 JDK13 工具链..