首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >“无法下载ant”的Buildr失败

“无法下载ant”的Buildr失败
EN

Stack Overflow用户
提问于 2012-12-08 19:36:28
回答 2查看 668关注 0票数 2

当试图构建此项目时:

代码语言:javascript
复制
project_layout = Layout.new
project_layout[:source,:main,:java] = 'src'
project_layout[:source,:test,:java] = 'test'

define 'hausaufgaben', :layout => project_layout do
    project.version = '1.0'
    package :jar
end

我得到了一个错误:

代码语言:javascript
复制
RuntimeError : Unable to download org.apache.ant:ant:jar:1.8.3. No remote repositories defined.

从这条消息中我了解到buildr在内部使用ant (奇怪,我认为它使用Rake来构建)。快速入门没有提到这一点。更令人烦恼的是,我已经有ant (1.8.2而不是1.8.3,但这不应该有太大的差别),而且奇怪的是,只要buildr找不到任何java文件(通过将布局保留在默认值中来测试这个值),就不会有任何抱怨。

现在实际的问题是:我是否需要添加一个库,以便buildr可以找到ant,或者我可以这样做呢?

为了记录在案:我用jruby -S gem install buildr安装了buildr,并使用jruby -S buildr package运行它。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-12-09 02:13:47

Buildr使用Rake进行任务相关性评估和执行。然而,Rake并不了解如何具体地构建Java项目。Buildr没有重写它在ruby中支持的所有任务,而是使用ant任务来实现它自己的一些任务。(我可以马上想到的一个是运行JUnit测试;我相信还有其他测试。)所以Buildr需要Ant。

您可以添加适当的远程存储库,或者确保ant的正确版本在每台将使用构建文件的计算机上的m2缓存中。对于错误消息中的工件,预期的路径是$HOME/.m2/repository/org/apache/ant/ant/1.8.3/ant-1.8.3.jar

请注意,ant可能不是buildr试图下载的唯一依赖项。如果不想定义远程存储库,则必须对每个依赖项执行此手动解析。

(请注意,如果在没有构建文件的目录中运行buildr,它将为您生成一个。它生成的存储库将设置一个适当的远程存储库。)

票数 2
EN

Stack Overflow用户

发布于 2012-12-09 19:38:09

正如瑞德所做的那样,Buildr在幕后使用Ant来实现它的一些任务,并将在需要时尝试下载所需的库。

我通常在构建文件中注册一个远程存储库,这样,如果库还没有本地缓存,构建就知道从哪里下载库。因此,请尝试将以下内容添加到您构建的顶部。

代码语言:javascript
复制
repositories.remote << 'http://repo1.maven.org/maven2'
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13781123

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档