首页 > 解决方案 > 如何找到 bazel 错误工作进程未返回 WorkResponse 的根本原因?

问题描述

我的 bazel v4.0.0. build 只是向我显示了这个不清楚Worker process did not return a WorkResponse的错误消息,它似乎隐藏了问题的根本原因。当我在java_library目标中包含一个处理器时会发生这种情况。

这是我的 bazel BUILD 文件的简化版本:

java_library(
    name="java",
    srcs=glob(["**/*.java"]),
    plugins = [
        ":my_processor",
    ],
)

java_plugin(
    name = "my_processor",
    processor_class = "mypackage.MyProcessor",
)

如何找出问题所在?

标签: javabazel

解决方案


可能还有更多可能导致此错误的情况,我的工作是指定--noexperimental_worker_multiplex.

该命令bazel build //myproject/src/main/java --noexperimental_worker_multiplex更改了错误消息,但最重要的是它显示:您是否尝试将某些内容打印到标准输出?

事实上,处理器似乎包含一个System.out.println. 删除它解决了这个构建错误。

顺便说一句--noexperimental_worker_multiplex,问题解决后我确实删除了,因为我认为experimental_worker_multiplex 是一件好事。


推荐阅读