【问题标题】:Nutch 2.2.1 build stuck issueNutch 2.2.1 构建卡住问题
【发布时间】:2014-03-05 12:59:39
【问题描述】:

我在公司防火墙后面构建 Nutch 2.2.1 时遇到问题。我的构建卡在这里:

[ivy:resolve] :: loading settings :: file = ~/nutchtest/nutch/ivy/ivysettings.xml

当我联系托管管理员时,他们说 - “Ant 正在尝试从 Internet 下载文件,我们的防火墙会出现问题。您要么必须自己下载文件,然后 scp/sftp 将它们发送到机器。很遗憾,我们没有 http 代理。”

通过进一步挖掘,我可以看到 Ant 正在尝试访问此链接 http://ant.apache.org/ivy/。谁能告诉我应该怎么做才能让Ant编译Nutch而不访问互联网?我可以从http://ant.apache.org/ivy/ 和 scp/sftp 下载所需文件到服务器,但我不确定要下载哪些文件以及将它们放在哪里?

【问题讨论】:

  • 我会说,在文件/etc/hosts 中添加条目:ant.apache.org localhost,在您的机器上运行httpd server 并将包放在正确的目录中。基本上,让蚂蚁认为它是从互联网下载的。

标签: java ant ivy nutch


【解决方案1】:

在连接到互联网的机器上运行构建。 Ivy 将在此处缓存您构建的依赖项(默认情况下):

$HOME/.ivy2/cache

填充的缓存将使您能够在防火墙内重复构建。

我还建议增强构建以运行 ivy report 任务。这将生成列出依赖关系树的网页。如果您想构建本地存储库,此信息非常有用。

最后考虑在防火墙内运行存储库管理器。 Nexus 和 Artifactory 等工具使存储库托管更易于管理。考虑为此服务器获取防火墙例外。存储库管理器用于缓存有用的 Internet 存储库,例如 Maven Central。

【讨论】:

  • 嗨,马克!您的回复很有帮助!是否有必要将常春藤报告任务作为 Nutch 编译的公园运行?
  • @sunskin 没有必要,只是非常有用,可以确定什么取决于什么。
  • 谢谢马克!在连接到 Internet 的机器上构建的缓存有一些文件,其文件名以该机器的主机名结尾。我应该更改这些文件的文件名以匹配我将上传这些文件的服务器的主机名吗?有没有更好的方法呢?
  • @sunskin 我只是复制缓存,看看它是否有效。这应该是解决您的问题的快速而肮脏的解决方案。
  • 它确实做到了!谢谢马克
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多