crawler4j打包与配置

来源:互联网 发布:java web网站开发模板 编辑:程序博客网 时间:2024/06/18 07:24

记录一下这几个小时发生的BUG,这段时间过后一定要写一份crawler4j的文档。

我的crawler4j工程是在Eclipse下建的,因为用Myeclipse直接导入crawler4j会报错,错误大概是无法计算pom什么什么的。又没时间去研究maven,于是只好在Eclipse下面建工程,没想到还能跑。做好函数和接口之后,导出成jar包给在Myclipse里面的Web Project调用。


首先是打包,报error错误,打包失败。错误内容好像是duplicate entry,反正意思是有多个入口,即有多个相同的文件。从工程里面删掉相同的,ok。以及有关关于MANIFSET文件的错误,勾选generate MANIFEST即可。


打包结束后,直接导入,发现Myclipse的project上有一个小红叉(项目内容没有报错),可是我的Build Path里面的内容已经没有问题的了,用的也是jdk 1.7,和eclipse中的匹配。于是上网搜,发现应该到项目的路径下,找到.setting,里面有个org.eclipse.wst.common.project.facet.core.xml,用记事本打开。里面有一句

  <installed facet="java" version="1.6"/>

呵呵,改之。换成1.7。然后进入工程界面,刷新,红叉消失。


然后开始爬,报错java.lang.NoClassDefFoundError: org/apache/http/params/HttpParams 。上网各种搜,根据这个链接说是需要下载一个Httpcore,下载了一个,发现原来的dependency里面的库文件已经有了一个core,而且内容变化不大。找不到库,好,手动导入denpendency的所有库。这个错误解决了。


继续,报ClassNotFoundException.原因是我有一个MyCrawler没有编译好打包(我明明记得已经勾选了整个包了啊)。没关系,再打包一次。打包的时候会报warning,不放心继续百度了一下,最后发现warning真的可以不用管。


继续爬,出现The environment cannot be locked for single writer access.的错误。这个错误的意思是不能同时写入,意思就是写文件的时候没有加同步锁,导致多个访问。估计是前面测试的时候没有停止运行,所以资源没有完全回收。重启MyEclipse搞定(这还真是个很好的办法)


继续刷夜写,争取早点回家。



0 0
原创粉丝点击