eclipse中配置heritrix的过程----heritrix-1.14.4

本文介绍Heritrix 1.14.4的配置流程,涵盖Java Project工程创建、Heritrix文件集成、配置文件修改等内容,并解决了常见配置问题。

heritrix-1.14.4-srcheritrix-1.14.4两个压缩文件解压<?xml:namespace prefix = o ns ="urn:schemas-microsoft-com:office:office" />

配置过程:

1、新建Java Project工程

Eclipse中新建一个Java Project工程(注意:一定是Java Project的工程,不是Web Project工程),工程名称为Heritrixproject。(名字可随便起)

以我的为例,对应地,工程Heritrixproject在本地磁盘目录D:\eclipse-SDK-3.2.1-win32\workspace下面。

可以在目录D:\eclipse-SDK-3.2.1-win32\workspace\Heritrixproject下面看到:两个工程属性文件.classpath.project

2、向新建的Java Project添加Heritrix-1.14.4文件

(1) 将目录E:\Heritrix\heritrix-1.14.4-src\heritrix-1.14.4\src\java\下面的三个目录:orgcomst一起拷贝到新建工程Heritrixproject目录下面(绝对路径为D:\eclipse-SDK-3.2.1-win32\workspace\Heritrixproject)

(2) 将目录E:\Heritrix\heritrix-1.14.4-src\heritrix-1.14.4\src\conf\下面的:三个目录(包括:modulesprofilesselftest),以及四个文件(包括:heritrix.propertiesjmxremote.password.templateheritrix.cacertsjndi.properties)一起拷贝到新建的工程Heritrixproject目录下面。

(3) 将目录E:\Heritrix\heritrix-1.14.4-src\heritrix-1.14.4\src\resources\下面的三个文件(包括:arcMetaheaderBody.xslREADME.txt,其中README.txt没有用处是显而易见的)拷贝到新建的工程Heritrixproject目录下。

(4) 将目录E:\Heritrix\heritrix-1.14.4\heritrix-1.14.4\下面的webapps目录拷贝到新建工程Heritrixproject目录下面(绝对路径为D:\eclipse-SDK-3.2.1-win32\workspace\Heritrix-1.14.4),这里,webapps目录下面有两个WAR(admin.warselftest.war)

(5)E:\Heritrix\heritrix-1.14.4\heritrix-1.14.4\下的lib文件夹拷贝到工程下。

3、修改新建的Java Project工程的配置文件

(1) 打开目录D:\eclipse-SDK-3.2.1-win32\workspace\Heritrixproject下面的.classpath文件,可以看到共有下面6行:

<?xml version="1.0"encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="src"/>
<classpathentry kind="con"path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
<classpathentry kind="output" path="bin"/>
</classpath>

可以看到,新建Java Project工程之后,src是资源目录,所以在Eclipse开发平台上,在src下面新建的资源目录呈包结构组织。kind属性指定工程中显示的资源目录,path指定了在该path(Eclipse默认为src)下的资源目录都呈包结构组织。

将上面的内容做很大的修改,修改内容如下所示:(注意:这个地方里面的lib下的jar就是拷贝到工程下lib里面的jar。如果你用的最新版本的可能与这个jar文件不一样,这个你就要做相应的修。此时的最新版本为heritrix-1.14.4)

<?xml version="1.0"encoding="UTF-8"?>

<classpath>

    <classpathentrypath="" kind="src"/>

    <classpathentrypath="org.eclipse.jdt.launching.JRE_CONTAINER"kind="con"/>

    <classpathentrypath="lib/ant-1.6.2.jar" kind="lib"/>

    <classpathentrypath="lib/bsh-2.0b4.jar" kind="lib"/>

    <classpathentrypath="lib/commons-cli-1.0.jar" kind="lib"/>

    <classpathentrypath="lib/commons-codec-1.3.jar" kind="lib"/>

    <classpathentrypath="lib/commons-collections-3.1.jar" kind="lib"/>

    <classpathentrypath="lib/commons-httpclient-3.1.jar" kind="lib"/>

    <classpathentrypath="lib/commons-io-1.3.1.jar" kind="lib"/>

    <classpathentrypath="lib/commons-lang-2.3.jar" kind="lib"/>

    <classpathentrypath="lib/commons-logging-1.0.4.jar" kind="lib"/>

    <classpathentrypath="lib/commons-net-2.0.jar" kind="lib"/>

    <classpathentrypath="lib/commons-pool-1.3.jar" kind="lib"/>

    <classpathentrypath="lib/dnsjava-2.0.3.jar" kind="lib"/>

    <classpathentrypath="lib/fastutil-5.0.3-heritrix-subset-1.0.jar"kind="lib"/>

    <classpathentrypath="lib/itext-1.2.0.jar" kind="lib"/>

    <classpathentrypath="lib/jasper-compiler-tomcat-4.1.30.jar"kind="lib"/>

    <classpathentrypath="lib/jasper-runtime-tomcat-4.1.30.jar" kind="lib"/>

    <classpathentrypath="lib/javaswf-CVS-SNAPSHOT-1.jar" kind="lib"/>

    <classpathentrypath="lib/je-3.3.82.jar" kind="lib"/>

    <classpathentrypath="lib/joda-time-1.6.jar" kind="lib"/>

    <classpathentrypath="lib/jetty-4.2.23.jar" kind="lib"/>

    <classpathentrypath="lib/jets3t-0.5.0.jar" kind="lib"/>

    <classpathentrypath="lib/junit-3.8.2.jar" kind="lib"/>

    <classpathentrypath="lib/jericho-html-2.6.jar" kind="lib"/>

    <classpathentrypath="lib/libidn-0.5.9.jar" kind="lib"/>

    <classpathentrypath="lib/mg4j-1.0.1.jar" kind="lib"/>

    <classpathentrypath="lib/poi-2.0-RC1-20031102.jar" kind="lib"/>

    <classpathentrypath="lib/poi-scratchpad-2.0-RC1-20031102.jar"kind="lib"/>

    <classpathentrypath="lib/servlet-tomcat-4.1.30.jar" kind="lib"/>

    <classpathentrypath="" kind="output"/>

</classpath>其中:

上面的<classpathentry kind="src"path=""/>中,指定src"",这表示,只要在该工程的根目录下面建的目录资源都呈现表结构组织;

上面的kindlib,对应的就是我们拷贝到工程目录下面的libpath的值就是该lib目录下面的所有的jar文件。

4.配置外部jar包,

      切换到eclipse窗口下,刷新下工程。

右键单击工程,选择【Build Path—> Add External Archives】在弹出的窗口中选择添加目录heritrix-1.12.1-src\heritrix-1.12.1\lib

再次刷新下工程。没有错误提示了。

5、修改heritrix.properties属性文件

打开heritrix.properties属性文件,可以看到默认情况下,Heritrix-1.14.4的属性文件如下所示:

##############################################################################
# H E R I T R I X P R O P E R T I E S
##############################################################################

# Properties with 'heritrix.' or'org.archive.crawler.' prefix get loaded
# into System.properties on startup so available via System.getProperties.

# Version is filled in by the maven.xmlpregoal. It copies here the project
# currentVersion property.
heritrix.version = @VERSION@

# Location of the heritrix jobsdirectory.
heritrix.jobsdir = jobs

# Default commandline startup values.
# Below values are used if unspecified on the command line.
heritrix.cmdline.admin = 
heritrix.cmdline.port = 8080
heritrix.cmdline.run = false
heritrix.cmdline.nowui = false
heritrix.cmdline.order =
heritrix.cmdline.jmxserver = false
heritrix.cmdline.jmxserver.port = 8081

上面四行红色标识的代码行,一般来说,需要修改。

第一行,heritrix.version指定了Heritrix的版本号,因为我们测试的是版本号为1.14.4,修改为:

heritrix.version = 1.14.4

第二行,heritrix.jobsdir指定了Heritrix在执行抓取任务时,抓取到的内容存放的目录,默认在工程下面的jobs目录下面。

第三行,heritrix.cmdline.admin指定了登录WebUI时使用的帐号,默认为空,可以自己随意设定,设定需要按照一定的格式(用户名:密码),我们修改为:

heritrix.cmdline.admin = adminadmin

其中,用户名和密码使用“:”分隔。

第四行,heritrix.cmdline.port指定了运行Heritrix后台程序,监听的WebUI使用的端口号,默认为8080端口,可以设置一个当前没有占用的端口号,比如我们修改为:

heritrix.cmdline.port = 9090

、启动Heritrix后台程序

回到Eclipse平台窗口,找到新建的Java Project工程Heritrixproject中,资源包org.archive.crawler下面的Java类文件Heritrix.java,右键单击Heritrix.java文件,选择【Run As—> Java Application】选项,便看见Heritrix后台已经启动了,在Eclipse控制台【Console】中可以看到启动过程的详细信息,如下所示:

 <?xml:namespace prefix = v ns ="urn:schemas-microsoft-com:vml" />

7、登录WebUI

现在,可以成功登录WebUI,设置抓取任务了。

在浏览器地址栏中键入地址链接 http://localhost:9090,可以看到WebUI登录界面.

 

 

 

 

可能出现的问题:
1.
配置好之后当我们运行Heritrix.java的时候可能编译不通过。这是因为sun包是受保护的包,默认只有sun公司的软件才能使用。myEclipse会报错,把对保护使用waring就可以了。

解决办法Windows -> Preferences -> Java-> Compiler -> Errors/Warnings-> Deprecated and trstricted API ->Forbidden reference (access rules): -> change to warning

 

2.可能出现的异常:......thread-10org.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.Exception in thread "StartNextJob"java.lang.NoSuchMethodError:

org.apache.commons.httpclient.HttpState.setCookiesMap(Ljava/util/SortedMap;

解决办法HttpStateHeritrixX.XX.X.jarcommons-httpclient.XXX.jar里面重复了,在build path里面把HeritrixX.XX.X.JAR放在commons-httpclient.XXX.jar前面就可以解决这个问题。当然了,开始我根本没有导入HeritrixX.XX.X.jar这个包,会有其他的错误。

【Koopman】遍历论、动态模态分解和库普曼算子谱特性的计算研究(Matlab代码实现)内容概要:本文围绕【Koopman】遍历论、动态模态分解和库普曼算子谱特性的计算研究展开,重点介绍基于Matlab的代码实现方法。文章系统阐述了遍历理论的基本概念、动态模态分解(DMD)的数学原理及其与库普曼算子谱特性之间的内在联系,展示了如何通过数值计算手段分析非线性动力系统的演化行为。文中提供了完整的Matlab代码示例,涵盖数据驱动的模态分解、谱分析及可视化过程,帮助读者理解并复现相关算法。同时,文档还列举了多个相关的科研方向和技术应用场景,体现出该方法在复杂系统建模与分析中的广泛适用性。; 适合人群:具备一定动力系统、线性代数与数值分析基础,熟悉Matlab编程,从事控制理论、流体力学、信号处理或数据驱动建模等领域研究的研究生、博士生及科研人员。; 使用场景及目标:①深入理解库普曼算子理论及其在非线性系统分析中的应用;②掌握动态模态分解(DMD)算法的实现与优化;③应用于流体动力学、气候建模、生物系统、电力系统等领域的时空模态提取与预测;④支撑高水平论文复现与科研项目开发。; 阅读建议:建议读者结合Matlab代码逐段调试运行,对照理论推导加深理解;推荐参考文中提及的相关研究方向拓展应用场景;鼓励在实际数据上验证算法性能,并尝试改进与扩展算法功能。
本系统采用微信小程序作为前端交互界面,结合Spring Boot与Vue.js框架实现后端服务及管理后台的构建,形成一套完整的电子商务解决方案。该系统架构支持单一商户独立运营,亦兼容多商户入驻的平台模式,具备高度的灵活性与扩展性。 在技术实现上,后端以Java语言为核心,依托Spring Boot框架提供稳定的业务逻辑处理与数据接口服务;管理后台采用Vue.js进行开发,实现了直观高效的操作界面;前端微信小程序则为用户提供了便捷的移动端购物体验。整套系统各模块间紧密协作,功能链路完整闭环,已通过严格测试与优化,符合商业应用的标准要求。 系统设计注重业务场景的全面覆盖,不仅包含商品展示、交易流程、订单处理等核心电商功能,还集成了会员管理、营销工具、数据统计等辅助模块,能够满足不同规模商户的日常运营需求。其多店铺支持机制允许平台方对入驻商户进行统一管理,同时保障各店铺在品牌展示、商品销售及客户服务方面的独立运作空间。 该解决方案强调代码结构的规范性与可维护性,遵循企业级开发标准,确保了系统的长期稳定运行与后续功能迭代的可行性。整体而言,这是一套技术选型成熟、架构清晰、功能完备且可直接投入商用的电商平台系统。 资源来源于网络分享,仅用于学习交流使用,请勿用于商业,如有侵权请联系我删除!
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值