在使用 --experimental_worker_multiplex_sandboxing 选项的所有 Java 编译中, bazel 覆盖检查失败
作者: thirtyseven创建于 2026年9月16日更新于 2026年9月17日
标签type: bugP3team-Rules-Java
问题描述:
在同时启用 --collect_code_coverage 和 --experimental_worker_multiplex_sandboxing 时,每个 Java 编译都会失败:
ERROR: BUILD.bazel:14:13: Building liblib.jar (2 source files) failed: (Exit 1):
java failed: error executing Javac command (from target //:lib) ...
java.io.FileNotFoundException:
<output_base>/bazel-workers/Javac-multiplex-worker-1-workdir/_main/
bazel-out/darwin_arm64-fastbuild/bin/liblib-paths-for-coverage.txt (No such file or directory)两个标志都是必需的,工具链必须设置 javac_supports_worker_multiplex_sandboxing = True。rules_java 的标准工具链将其设置为 False,这使得 --experimental_worker_multiplex_sandboxing 对 Javac 没有任何作用,因此在默认设置下,该问题是不可发现的。
内容来源: bazelbuild/bazel