gpt4 book ai didi

java - 更改 Bazel 中的 Java 版本

转载 作者:太空宇宙 更新时间:2023-11-04 09:10:00 25 4
gpt4 key购买 nike

我使用 Bazel 作为我的 Java 项目的构建工具。我的 Mac 上安装了 JDK 11,但 Bazel 使用 Java 8 来构建二进制文件。有谁知道我该如何改变这个?

最佳答案

BUILD.bazel

java_binary(
name = 'JavaBinary',
srcs = ['JavaBinary.java'],
main_class = 'JavaBinary',
)
load(
"@bazel_tools//tools/jdk:default_java_toolchain.bzl",
"default_java_toolchain",
)
default_java_toolchain(
name = "default_toolchain",
visibility = ["//visibility:public"],
)

JavaBinary.java

public class JavaBinary {
public static void main(String[] args) {
System.out.println("Successfully executed JavaBinary!");
System.out.println("Version: " + System.getProperty("java.version"));
}
}

WORKSPACE.bazel

load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")

http_archive(
name = "rules_java",
sha256 = "220b87d8cfabd22d1c6d8e3cdb4249abd4c93dcc152e0667db061fb1b957ee68",
url = "https://github.com/bazelbuild/rules_java/releases/download/0.1.1/rules_java-0.1.1.tar.gz",
)

load("@rules_java//java:repositories.bzl", "rules_java_dependencies", "rules_java_toolchains")

rules_java_dependencies()

rules_java_toolchains()

这样运行:

bazel run :JavaBinary \
--java_toolchain=:default_toolchain \
--javabase=@bazel_tools//tools/jdk:remote_jdk11

您还可以创建 .bazelrc 文件,然后执行 bazel run :JavaBinary:

.bazelrc

build --java_toolchain=:default_toolchain
build --javabase=@bazel_tools//tools/jdk:remote_jdk11

关于java - 更改 Bazel 中的 Java 版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59761069/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com