heritrix 3.3系统启动缺少jar包及异常问题处理

本文详细记录了在Macos环境下部署Heritrix爬虫系统的步骤,包括解决因JDK版本引起的NoClassDefFoundError错误,以及通过本地安装特定jar包来避免依赖问题。同时介绍了如何使用ArchiveExpert工具在Macos下查看WARC抓取结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1 环境部署

本地系统Mac os,ide使用的是Idea,jdk版本是1.8。开始部署环境,找的教程都下载的是3.1或3.0安装包,开始直接直接运行项目,但运行后会提示如下错误。

Exception in thread "main" java.lang.NoClassDefFoundError: sun/security/tools/KeyTool

        at org.archive.crawler.Heritrix.useAdhocKeystore(Heritrix.java:438)

        at org.archive.crawler.Heritrix.instanceMain(Heritrix.java:319)

        at org.archive.crawler.Heritrix.main(Heritrix.java:189)

Caused by: java.lang.ClassNotFoundException: sun.security.tools.KeyTool

        at java.net.URLClassLoader.findClass(URLClassLoader.java:381)

        at java.lang.ClassLoader.loadClass(ClassLoader.java:424)

        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335)

        at java.lang.ClassLoader.loadClass(ClassLoader.java:357)

到项目的github页面issue中看到 https://github.com/internetarchive/heritrix3/commit/12dde2b69361f79eaa3ea53193d2014f31fd730a
使用 java 6 and 7不会出现这个异常,而8会,目前这个问题已经修复。拉取master分支代码运行即可。但在项目主页拉取master代码后,如下jar包通过maven一直获拉取不到。

  • dnsjava

  • mg4j

  • javaswf

  • kryo

  • reflectasm

  • minlog

接着参照这篇博文https://blog.youkuaiyun.com/l294265421/article/details/49737133,从下载的安装包中lib目录下将jar包本地安装即可3.0,3.1均可。随后在org.archive.crawler.Heritrix类中启动main方法,可正常启动项目。

Mac os下WARC包查看工具

参照github页面配置好种子地址,运行第一个爬虫后,抓取结果默认是以warc包形式保存。这时无法打开查看内容。通过Archive Expert这个工具在mac os下可以打开包查看抓取结果。

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值