您的位置:首页 > 编程语言 > Java开发

Heritrix在eclipse中的配置过程(1.14.4版本)

2014-05-10 08:07 495 查看
Eclipse中配置使用Heritrix-1.14.4

在网上找了不少方法,但配置之后均可以登录,但配置抓取任务的moudles的时候网页不正常显示(百度了以下应该是某些文件没有执行,具体的原理等了解以后再补充),下面这种方法显示正常:

1. 下载并解压heritrix-1.14.4-src.zip和heritrix-1.14.4.zip;

2. 在Eclipse中新建java project,项目名定为HeritrixProject;

3. 将解压后的heritrix-1.14.4-src.zip中src/java/下的com,org,st文件夹复制到工程的src目录下;

4. 将src/conf下的modules,profiles,selftest文件夹和heritrix.propertries,jndi.properities文件复制到工程的src目录下;

5. 解压heritrix-1.14.4-zip将webapps文件夹复制到工程根目录下;

6. 将heritrix-1.14.4-src.zip解压中src/resources/org/archive/util中tlds-alpha-by-domain.txt文件复制到工程中org.archive.util包下;

7. 将heritrix-1.14.4-src.zip解压中lib文件夹复制到项目根目录;

8. 打开工程中的heritrix.propertries文件修改以下配置项

a) heritrix.version= 1.14.4,配置heritrix版本号

b) heritrix.jobsdir= jobs,配置爬取的内容的放置文件夹

c) heritrix.cmdline.admin=username:password,配置webUI登录的用户名和密码

d) heritrix.cmdline.port= 8088,配置webUI的登录端口

9. 将lib文件夹下的后有jar包加入到工程的classpath中(工程右键build path);

10. 在工程中找到org.archive.crawler下的Heritrix.java运行,成功运行结果如下:

10:19:37.985 EVENT Starting Jetty/4.2.23

10:19:38.139 EVENT Started WebApplicationContext[/,Heritrix Console]

10:19:38.227 EVENT Started SocketListener on 127.0.0.1:8088

10:19:38.227 EVENT Started org.mortbay.jetty.Server@5861

Heritrix version: 1.14.4

11.打开浏览器,输入地址:http://localhost:8088输入用户名和密码就可以登录到后台,如下图所示:

可能遇到的异常:

1>Thread-10 org.archive.util.ArchiveUtils.<clinit>() TLD list unavailable

solution:将解压后的heritrix-1.14.4-src.zip中src/resources/下中将文件org/archive/util/tlds-alpha-by-domain.txt复制到工程中的org/archive/util目录下即可;

2> Exception in thread "main" org.mortbay.util.MultiException[java.net.BindException: Address already in use: JVM_Bind]

solution: 由于端口被占用,可先关闭Eclipse停止相关进程,然后在开启即可;

3> 找不到类 sun.net.www.protocol.file.FileURLConnection:

solution: sun包是受保护的包,默认只有sun公司的软件才能使用。Eclipse会报错,把对保护使用warning就可以了。Windows -> Preferences -> Java -> Compiler -> Errors/Warnings-> Deprecated and trstricted API -> Forbidden reference (access rules): -> change to warning;

4> The method finalTasks() of type AdaptiveRevisitFrontier must override a superclass method:

Solution: 去掉该类中此方法上方的@Override即可;

5> Sometimes, 各个包及文件都没错,Heritrix仍会报错,尝试将工程目录下的爬取内容的放置文件夹jobs去掉。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  eclipse heritrix 配置