1、首先在eclipse上安装三个插件,使eclipse能够从svn获取nutch源代码
(1) Subclipse (2) IvyDE
(3) m2e
三个插件安装方法:
eclipse>>help>>Eclipse Marketplace>>在search find框输入插件名称>>GO>>INSTALL.这三个插件很快就会更新好了
2、nutch的安装
(1)Eclipse ,file>>new>project>SVN >>Checkout Projects from SVN>>Create new repository location >> https://svn.apache.org/repos/asf/nutch/trunk>>选择根目录,最上面的>>next。(2) 通过new Project Wizard 选择一个新建一个java project工程,点击next输入项目名称(例如Nutch) 并确保 create separate folders for sources and class files选项被选择。(我更新的是nutch-1.7)
(3)设置默认的输出文件夹为 nutch/bin, Subclipse 将设置构建环境并且开始检出源码
(4)全部代码检出完毕后,不要立即build构建源码!,这时会有许多报错,还需要下面的配置。
3、 为 Nutch建立Eclipse环境
(1)工程>>右键>>选择属性>>java build path>>Source>>remove Nutch/src>>Add Folder>>展开 Nutch/src 选择src/bin, src/java, src/test 以及 src/testresources,并且选择每一个plugin目录下的src/java 和 src/test folder文件夹(虽然会花费一些时间,但只能这样做)。
(2)之后在 Libraries 页卡中, 单击 Add Class Folder 并添加 conf to the 类路径(classpath)(3)继续在 Libraries 页卡 Add Library > IvyDE Managed Dependencies >浏览并选择到 Nutch/ivy/ivy.xml 文件 > ensure 所有的配置 都被包含. 点击Finish。
(4)选择 "Order and Export" 页卡, 找到刚才添加的 "conf" 文件夹 (通常在列表的底部) 并移动顶部(先勾选再点击右侧的 "Top" 按钮). 确保Eclipse 将从本地的conf文件夹中配置 (nutch-default.xml, etc.) 资源而不是从其他地方不要添加 "build" 到 classpath点击 "Finish"按钮。
(5)这时依然会报错,还需要在Libraries页卡中添加以下几jarutomaton.jar javaswf.jar,nekohtml.jar ,tagsoup-1.2.1.jar,rome-1.0.jar (先前用过nutch-1.4,除了nekohtml.jar需要下载,其它都能找到)
剩下的是对nutch的配置
运行程序时可能还会报错,如:
Injector: crawlDb: crawl/crawldb
Injector: urlDir: urls
Injector: Converting injected urls to crawl db entries.
Exception in thread "main" java.io.IOException: Job failed!
at org.apache.hadoop.mapred.JobClient.runJob(JobClient.java:1252)
at org.apache.nutch.crawl.Injector.inject(Injector.java:217)
at org.apache.nutch.crawl.Crawl.main(Crawl.java:143)
这时原因有很多种,这时最好察看nutch运行时的日志文件 项目/hadoop.log