我正在尝试编译一个 bazle 项目,Twitter Heron。在我的国家/地区的终端中有一个我无法访问的 maven_server:
错误:/home/xxx/heron/heron/healthmgr/src/java/BUILD:56:1:没有这样的包'@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 超时并由 '//heron/healthmgr/src/java: healthmgr-unshaded'。错误:目标 '//scripts/packages:binpkgs' 的分析失败;构建中止。信息:经过时间:10.867 秒
所以我从站点手动下载所需的jar,将它放在我的本地maven存储库中,并将WORKSPACE中的maven_server更改为中央maven存储库。但随后它尝试从中央 maven 存储库中找到仅在特定远程存储库中可用的 jar。我明白了:
错误:/home/xxx/heron/heron/healthmgr/src/java/BUILD:56:1:没有这样的包'@org_apache_thrift_libthrift//jar':无法获取 Maven 依赖项:找不到工件 org.apache.thrift: org_apache_thrift_libthrift ( http://central.maven.org/maven2 ) 中的 libthrift:jar:0.5.0-1 并由“//heron/healthmgr/src/java:healthmgr-unshaded”引用。错误:目标 '//scripts/packages:binpkgs' 的分析失败;构建中止。信息:经过时间:1.083s
bazel 可以在我的本地 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