Heritrix3.3.0是maven项目,但是当我们把它导入eclipse里后,总是有一些jar包不能下载下来,导致项目无法正常。网上有介绍把它改为普通java项目并利用发布版lib目录下的jar包作为依赖使之正常工作的文章——heritrix 3.2.0 -- 环境搭建 。但是,这样的话,我们就没法方便的阅读项目的测试类代码以及相关项目的源码了。考虑到这个原因,便决定花点功夫解决jar不能下载的问题,并最终解决,并分享如下:
(1)下载源码。地址:
https://github.com/l294265421/heritrix3.git
(2)下载项目发布包。要用到其中lib目录下的jar。地址:
https://github.com/xiamizy/heritrix-package.git
(3)将源码导入eclipse(这里是导入已经存在的maven项目)。导入之后,项目的大部分依赖都能成功下载下来,没下载下来的也就下面这几个(列出的是artifactId):
dnsjava
mg4j
javaswf
kryo
reflectasm
minlog
这时,我们只需跳转到“lib目录”(你应该知道是哪个目录),分别执行以下命令:
mvn install:install-file -Dfile=dnsjava-2.0.3.jar -DgroupId=org.dnsjava -DartifactId=dnsjava -Dversion=2.0.3 -Dpackaging=jar -DgeneratePom=true -DcreateChecksum=true
mvn install:install-file -Dfile=mg4j-1.0.1.jar -DgroupId=it.unimi.dsi -DartifactId=mg4j -Dversion=1.0.1 -Dpackaging=jar -DgeneratePom=true -DcreateChecksum=true
mvn install:install-file -Dfile=javaswf-CVS-SNAPSHOT-1.jar -DgroupId=com.anotherbigidea -DartifactId=javaswf -Dversion=CVS-SNAPSHOT-1 -Dpackaging=jar -DgeneratePom=true -DcreateChecksum=true
mvn install:install-file -Dfile=kryo-1.01.jar -DgroupId=com.esotericsoftware -DartifactId=kryo -Dversion=1.01 -Dpackaging=jar -DgeneratePom=true -DcreateChecksum=true
mvn install:install-file -Dfile=reflectasm-0.8.jar -DgroupId=com.esotericsoftware -DartifactId=reflectasm -Dversion=0.8 -Dpackaging=jar -DgeneratePom=true -DcreateChecksum=true
mvn install:install-file -Dfile=minlog-1.2.jar -DgroupId=com.esotericsoftware -DartifactId=minlog -Dversion=1.2 -Dpackaging=jar -DgeneratePom=true -DcreateChecksum=true
(这些命令把jar安装到本地仓库)
(4)更新项目,不出意外,项目正常了。
大家可能使用的是不同的镜像,缺失的jar包可能不一样,可以找出缺失的jar包,根据上面的方法来解决。