2017-06-19 90 views
1

我想生成一个jar使用bazel生成将使用节俭文件。 当我运行bazel构建时,它创建了一个具有节俭自动生成代码的jar。但是我想在bazel构建时将一些java文件(客户端代码--main类,一个java类)包含到该jar文件中。 下面是节俭文件如何添加依赖关系的Java文件,同时生成与节俭文件Bazel生成

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因为没有属性MAIN_CLASS高清thrift_java_library在genthrift.bzl

感谢,

+0

你使用什么节俭规则? – mhlopko

+0

我正在使用thrift_java_library,生成的jar文件只包含节俭自动生成的代码。我想包括我的java文件作为jar文件的一部分 –

+0

这些? https://github.com/wt/bazel_thrift – mhlopko

回答

0

创建使用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来获得所有的细节。

相关问题