我正在尝试使用bazel build生成一个jar,它将使用thrift文件。 当我运行bazel build时,它正在创建一个带有thrift自动生成代码的jar。但我希望在bazel构建时将一些java文件(客户端代码 - 主类,一个java类)包含在该jar中。 以下是节俭文件
package(default_visibility = ["//visibility:public"])
load("//tools/bzl:genthrift.bzl", "thrift_java_library")
thrift_java_library(
name = "thriftbazelclient",
srcs = ["spell.thrift"],
)
如何添加main_class和deps?
没有使用main_class,因为genthrift.bzl中没有属性main_class def thrift_java_library
谢谢,
答案 0 :(得分:0)
使用取决于thrift库的java_binary
创建一个新目标,例如:
java_binary(
name = "my_thrift",
srcs = glob(["src/*.java"]),
main_class = "com.example.MyThrift",
deps = [ ":thriftbazelclient" ],
)
构建一个部署jar(包含所有传递依赖的jar),例如:
bazel build //:my_thrift_deploy.jar
您可以按照Bazel Java Tutorial获取所有详细信息。