Во-первых, найдите JDK, который вы хотите использовать в Bazel, я буду использовать Azul Zulu JDK 21 EA.
У выбранного вами поставщика JDK вам нужно будет найти URL-адрес загрузки и SHA256. В моем случае я нахожу URL-адрес загрузки, щелкнув правой кнопкой мыши .zip
и выбрав Copy link address
, а для SHA256 я щелкну Checksum (SHA256)
и скопирую SHA256.
Теперь в вашем WORKFILE
добавьте следующее
load("@bazel_tools//tools/jdk:remote_java_repository.bzl", "remote_java_repository") remote_java_repository( name = "name_for_the_java_repository", prefix = "zulujdk", sha256 = "bbc8c786c2ed41bf8471f2829854b5f78a24d20195c4a69a6c529c1e81cd8be7", # The SHA256 you copied goes here strip_prefix = "zulu21.0.21-ea-jdk21.0.0-ea.6-win_x64", # The name of the ZIP/TAR file target_compatible_with = ["@platforms//os:windows"], # Or @platforms//os:mac, @platforms//os:linux depending on which JDK you are downloading urls = ["https://cdn.azul.com/zulu/bin/zulu21.0.21-ea-jdk21.0.0-ea.6-win_x64.zip"], # The download url you copied goes here version = "21", # Replace with the Java version you are downloading )
И в вашем файле BUILD
добавьте следующее
load( "@bazel_tools//tools/jdk:default_java_toolchain.bzl", "BASE_JDK9_JVM_OPTS", "DEFAULT_JAVACOPTS", "DEFAULT_TOOLCHAIN_CONFIGURATION", "default_java_toolchain", ) default_java_toolchain( name = "name_for_the_java_toolchain", configuration = DEFAULT_TOOLCHAIN_CONFIGURATION, java_runtime = "@name_for_the_java_repository//:jdk", javacopts = DEFAULT_JAVACOPTS + ["--enable-preview"], jvm_opts = BASE_JDK9_JVM_OPTS + ["--enable-preview"], source_version = "21", target_version = "21", ) # More rules # java_binary(
Наконец, в .bazelrc
добавьте следующее
build --extra_toolchains=//:name_for_the_java_toolchain_definition build --java_language_version=21 build --java_runtime_version=21
Вот и все, теперь вы можете создавать и запускать свой Java-проект в Bazel с помощью нового блестящего JDK.
Первоначально опубликовано на http://github.com.