準(zhǔn)備用Heritrix來做個(gè)小的搜索引擎,以下是我在配置Heritrix的過程中遇到的各種問題,通過幾個(gè)小時(shí)的查找和分析,終于把Heritrix的單獨(dú)配置和在eclipse下的配置做成功了。我在配置過程中遇到問題的時(shí)候,發(fā)現(xiàn)網(wǎng)上關(guān)于這方面的資料比較少,很多人都遇到過相同的問題,但沒有人具體詳細(xì)的給予解答,下面我將從網(wǎng)上獲得的資料和我個(gè)人的認(rèn)識(shí)進(jìn)行總結(jié),希望對(duì)才開始配置Heritrix的朋友有所幫助。
當(dāng)然首先得下載Heritrix包。
下載最新版(本人喜歡最新的)的heritrix1.14.4.zip和heritrix-1.14.4-src.zip。地址:http:///projects/archive-crawler/files/archive-crawler%20(heritrix%201.x)/
一、 安裝、配置Heritrix
1、將得到的heritrix-1.14.4.zip壓縮包直接解壓縮到某一目錄,我選擇的是F:\Heritrix。 2、然后,將 F:\Heritrix 目錄中的heritrix-1.14.4.jar文件解壓縮,把 profiles\default 下的兩個(gè)文件order.xml和seeds.txt復(fù)制到 F:\Heritrix\conf 目錄下。 3、以文本編輯方式打開 F:\Heritrix\conf 下的heritrix.properties文件,在“heritrix.cmdline.admin = ” 項(xiàng)的后面加入你所要設(shè)定的管理員賬戶和密碼,用“:”分割,如: heritrix.cmdline.admin = admin:admin 4、復(fù)制 F:\Heritrix\conf 下的jmxremote.password.template文件到主目錄F:\Heritrix下,并更名為jmxremote.password。編輯此文件, 更改最后兩行"monitorRole @PASSWORD@"、"controlRole @PASSWORD@"中的"@PASSWORD@"為管理員密碼。如:
monitorRole admin controlRole admin 如果順利,就可以運(yùn)行了。系統(tǒng)自帶腳本的運(yùn)行如下: 將cmd定位到 F:\heritrix\bin下,執(zhí)行 "heritrix --admin=admin:admin" 命令,即可啟動(dòng) heritrix, 有一點(diǎn)需要注意,heritrix默認(rèn)使用8080端口,要保證系統(tǒng)端口沒有沖突。之后便可以訪問 http://127.0.0.1:8080 或http://localhost:8080/ 使用 heritrix 提供的WUI,即Web管理端。并且使用"admin/admin"登錄。
可能會(huì)出現(xiàn)的異常:
其中在Heritrix有一條異常信息是:java.lang.ClassNotFoundException:org.archive.crawler.Heritrix.
在Dos下可能是這樣顯示:JMX password file is missing or permission not set correctly.
原因是,heritrix啟動(dòng)時(shí)找不到heritrix的.Jar 包,即heritrix-1.14.4.jar。你就要看你的F:/Heritrix下有沒有這個(gè)包,沒有就加上,基本上是有的。
有的話,就要看你的環(huán)境變量中是不是設(shè)置了HERITRIX_HOME環(huán)境變量,如 果有,把它刪除就解決了。
其它情況我沒有遇到,就不寫了。
二、在Eclipse中配置Heritrix
1、新建空的java項(xiàng)目(注意不是WEB項(xiàng)目),命名為heritrix;
2、把heritrix-1.14.4-src\src\java\目錄下的org、st和com文件夾拷貝到heritrix/src目錄下;
3、把heritrix-1.14.4-src\src下的wbapps文件夾拷貝到heritrix目錄下;
4、右擊heritrix項(xiàng)目,點(diǎn)擊properties ,通過JavaBuildPath,將heritrix-1.14.4-src下的lib目錄下的所有包導(dǎo)入進(jìn)來;
5、解壓縮heritrix-1.14.4目錄下的heritrix-1.14.4.jar文件,把解壓后的所有文件和文件夾(除org、st、com文件夾和heritrix.properties文件外)拷貝到heritrix目錄下;
6、將heritrix-1.14.4目錄下的conf文件夾拷貝到heritrix目錄下;并將heritrix目錄下的profiles文件夾移入conf文件夾中;
7、打開eclipse下的heritrix/conf/heritrix.properties文件,找到"heritrix.cmdline.admin=",修改為“heritrix.cmdline.admin = admin:admin”;
8、Conf/jmxremote.password.template拷貝到heritrix目錄下。改名為:jmxremote.password,最后再行改成:
monitorRole admin
controlRole admin
9、找到org.archive.crawler包,運(yùn)行Heritrix.java中的main函數(shù)。
成功提示信息為:
09:14:07.406 EVENT Starting Jetty/4.2.23
09:14:07.656 EVENT Started WebApplicationContext[/,Heritrix Console] 09:14:07.750 EVENT Started SocketListener on 127.0.0.1:8082 09:14:07.750 EVENT Started org.mortbay.jetty.Server@179c285 Heritrix version: 1.14.4 可能會(huì)出現(xiàn)的異常: 1、在Heritrix.java中出現(xiàn)File URLConnection 紅叉;
解決辦法:將myeclipse中的compiler 屬性中的Errors/warring 中的Forbidden....選為warrning即可。
2、出現(xiàn)的異常:......thread-10 org.archive.util.ArchiveUtils.<linit>( )TLD list....
解決辦法:將 \heritrix-1.14.4-src\heritrix-1.14.4\src\resources\org\archive\util 下的文本文檔拷貝到heritrix中的org\archive\util下;
3、在eclipse中可以啟動(dòng)heritrix,但在jobs->modules.jsp頁面中沒有添加(“Add”)按扭,且出現(xiàn)以下異常。
致使錯(cuò)誤:“無法編譯樣式表”
嚴(yán)重 thread-12 org.archive'crawler.framework.WriterPodProcessor.io.arc.......
解決辦法:將heritrix 項(xiàng)目中的modulse的上一級(jí)目錄文件添加到eclipse的classpath中。
|
|