当前位置: 首页 > 工具软件 > Heritrix > 使用案例 >

Heritrix的安装与配置

牛智志
2023-12-01
准备用Heritrix来做个小的搜索引擎,以下是我在配置Heritrix的过程中遇到的各种问题,通过几个小时的查找和分析,终于把Heritrix的单独配置和在eclipse下的配置做成功了。我在配置过程中遇到问题的时候,发现网上关于这方面的资料比较少,很多人都遇到过相同的问题,但没有人具体详细的给予解答,下面我将从网上获得的资料和我个人的认识进行总结,希望对才开始配置Heritrix的朋友有所帮助。  当然首先得下载Heritrix包。        下载最新版(本人喜欢最新的)的heritrix1.14.4.zip和heritrix-1.14.4-src.zip。地址: http://sourceforge.net/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 下的两个文件order.xml和seeds.txt复制到 F:\Heritrix\conf 目录下。
     3、以文本编辑方式打开 F:\Heritrix\conf 下的heritrix.properties文件,在“heritrix.cmdline.admin = ” 项的后面加入你所要设定的管理员账户和密码,用“:”分割,如:
           heritrix.cmdline.admin = admin:admin
     4、复制 F:\Heritrix\conf 下的jmxremote.password.template文件到主目录F:\Heritrix下,并更名为jmxremote.password。编辑此文件,           更改最后两行"monitorRole @PASSWORD@"、"controlRole        @PASSWORD@"中的"@PASSWORD@"为管理员密码。如:
                  monitorRole admin
                  controlRole admin
    如果顺利,就可以运行了。系统自带脚本的运行如下:
           将cmd定位到 F:\heritrix\bin下,执行 "heritrix --admin=admin:admin" 命令,即可启动 heritrix,     有一点需要注意,heritrix默认使用8080端口,要保证系统端口没有冲突。之后便可以访问 http://127.0.0.1:8080http://localhost:8080/使用heritrix提供的WUI,即Web管理端。并且使用"admin/admin"登录。    可能会出现的异常:            其中在Heritrix有一条异常信息是:java.lang.ClassNotFoundException:org.archive.crawler.Heritrix.             在Dos下可能是这样显示:JMX password file is missing or permission not set correctly.            原因是,heritrix启动时找不到heritrix的.Jar 包,即heritrix-1.14.4.jar。你就要看你的F:/Heritrix下有没有这个包,没有就加上,基本上是有的。  有的话,就要看你的环境变量中是不是设置了HERITRIX_HOME环境变量,如   果有,把它删除就解决了。    其它情况我没有遇到,就不写了。 

二、在Eclipse中配置Heritrix

        1、新建空的java项目(注意不是WEB项目),命名为heritrix_src;        2、把heritrix-1.14.4-src\src\java\目录下的org、st和com文件夹拷贝到项目的src目录下;        3、把heritrix-1.14.4-src\src下的wbapps文件夹拷贝到heritrix_src中;        4、右击heritrix_src项目,点击properties ,通过JavaBuildPath,将heritrix-1.14.4-src下的lib目录下的所有包导入进来;        5、把heritrix-1.14.4-src\src下的conf目录下的modules、profiles、selftest文件夹以及effective_tld_names.dat、heritrix.properties和jndi.properties文件拷贝到项目的src目录下        6、打开项目src下的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包,运行Heritrix.java中的main函数。           成功提示信息为:           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
          Heritrix version: 1.14.4
           可能会出现的异常:          1、在Heritrix.java中出现FileURLConnection 红叉:               解决办法:sun包是受保护的包,默认只有sun公司的软件才能使用,MyEclipse会报错,把对保护使用waring就可以了。即:Windows -> Preferences -> Java -> Compiler -> Errors/Warnings-> Deprecated and trstricted API -> Forbidden reference (access rules): -> 改为“warning”          2、出现的异常:...... 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中可以启动heritrix,但在jobs->modules.jsp页面中没有添加(“Add”)按扭,且出现以下异常。              致使错误:“无法编译样式表”              严重 thread-12 org.archive'crawler.framework.WriterPodProcessor.io.arc.......

            解决办法:将heritrix 项目中的modulse的上一级目录文件添加到eclipse的classpath中。

 

参考资料:http://www.360doc.com/content/10/0913/18/2793979_53385587.shtml

(注:参考资料中eclipse的配置方法虽然能启动Heritrix,但发现进入控制台后Jobs/Module中的设置项不能选择!而上面提到的方法已经把这个问题解决了)

 类似资料: