我正在尝试编写一个bazle项目,Twitter Heron。 在我的国家/地区的终端中有一个我无法访问的maven_server:
错误:/ home / xxx / heron / heron / healthmgr / src / java / BUILD:56:1:没有这样的 package'@ org_apache_thrift_libthrift // jar':无法获取Maven 依赖:无法传输工件 org.apache.thrift:libthrift:jar:0.5.0-1 from / to org_apache_thrift_libthrift(http://maven.twttr.com):连接到 maven.twttr.com:80超时并被引用 '//苍鹭/ healthmgr / SRC / JAVA:healthmgr-无阴影'。错误:分析 target'// scripts / packages:binpkgs'失败;建立中止。信息: 经历时间:10.867s
因此,我从站点手动下载所需的jar,将其放入我的本地maven存储库,并将WORKSPACE中的maven_server更改为中央maven存储库。 但随后它尝试从中央maven存储库中找到仅在特定远程存储库中可用的jar。我明白了:
错误:/ home / xxx / heron / heron / healthmgr / src / java / BUILD:56:1:没有这样的 package'@ org_apache_thrift_libthrift // jar':无法获取Maven 依赖:无法找到工件 org.apache.thrift:libthrift:jar:0.5.0-1 in org_apache_thrift_libthrift (http://central.maven.org/maven2)并引用 '//苍鹭/ healthmgr / SRC / JAVA:healthmgr-无阴影'。错误:分析 target'// scripts / packages:binpkgs'失败;建立中止。信息: 经过时间:1.083秒
可以在我的本地maven存储库中找到依赖关系吗?或者我把罐子放错了路?或者还有其他问题吗?
ls ~/.m2/repository/org/apache/thrift/libthrift/0.5.0-1
libthrift-0.5.0-1.jar libthrift-0.5.0-1.pom libthrift-0.5.0-1-sources.jar
感谢您的帮助。
答案 0 :(得分:0)
Heron使用原生的maven_jar规则,该规则不会使用mvn
或.m2
。
据我所知,你的选择是:
BTW,作为旁注,maven_jar的云雀版确实使用了mvn
,所以.m2
,但我真的不推荐它,因为它不是100 %clear将来会推荐这个
其中一个主要原因是bazel没有提供maven二进制文件,因此您现在必须以某种方式确保构建项目的每个人都使用相同的二进制文件。