Bazel Java执行genrule时报错无法定位runfiles目录的解决问询
解决Bazel Genrule中Java二进制文件运行报错:Cannot locate runfiles directory
问题描述
编写Bazel genrule时,将Java二进制文件作为srcs传入,在cmd中通过$(location)引用该二进制文件,执行genrule时触发报错:
Cannot locate runfiles directory. (Set $JAVA_RUNFILES to inhibit searching.)
但先手动构建该二进制文件再执行genrule就能正常运行。
解决方法
- 将原本配置在
srcs中的Java二进制目标,转移到genrule的tools字段下,同时从srcs里移除这个目标,重新执行genrule即可解决该问题。
内容的提问来源于stack exchange,提问作者Coder123
相关产品推荐
相关产品推荐

