如何使用Bazel下载依赖项?

时间:2017-04-07 17:15:11

标签: maven build bazel

我是Bazel的新手。我需要使用Bazel下载外部依赖jar文件。在哪里配置下载外部jar文件。我试图在BUILD和WORKSPACE文件中添加jar文件,但没有工作。

工作区文件

maven_server(name="myserver",url="https://mvnrepository.com/artifact/org.apache.flink/flink-java")
maven_jar(name="flink-java",artifact="org.apache.flink:filnk-java:jar:1.2.0",server="myserver")
bind(name="flink-java",actual="@flink-java//jar")

构建文件

java_binary(
name="read_files",
srcs = glob(["ReadFiles.java"]),
main_class="com.ibm.cdo.gts.contracts.pipeline.preprocess.ReadFiles",
deps=["//external:flink-java"],
)

1 个答案:

答案 0 :(得分:1)

您遇到的逻辑错误是工作区名称(flink-java)非法see herehere。我们需要的是将-更改为_中的maven_jar,当然还有bind中的参考。

maven_jar(name="flink_java",artifact="org.apache.flink:flink-java:jar:1.2.0")
bind(name="flink-java",actual="@flink_java//jar")

上面的两个错误是:

  1. 在您需要filnk-java
  2. 时,您在工件坐标中写了flink-java
  3. 您使用的mvnrepository网址似乎不合法。我尝试了一些变种,但无法让它发挥作用。此外,从网站上他们似乎将下载链接到Maven Central本身,所以我不确定他们是否为服务器提供服务。话虽如此,自从Bazel回归到Maven Central之后我就省略了maven_server并且构建了传递。如果您需要maven_server部分的帮助,并且需要使用私有Maven存储库,请首先仔细检查URL。
  4. PS:如果您在问题中添加了Bazel输出,那将非常有帮助,因为我需要创建自己的工作区来了解您遇到的问题。