以文本方式查看主题

-  课外天地 李树青  (http://www.njcie.com/bbs/index.asp)
--  信息检索原理课件  (http://www.njcie.com/bbs/list.asp?boardid=16)
----  [转帖]Heritrix的使用  (http://www.njcie.com/bbs/dispbbs.asp?boardid=16&id=489)

--  作者:admin
--  发布时间:2008/5/14 10:45:57
--  [转帖]Heritrix的使用

这是网上的一个配置运行Heritrix的博客,说的很详细,大家可以参考一下

http://hi.baidu.com/wangyantsing/blog/item/9a14ba01c51a9a00728da540.html


--  作者:watermelon
--  发布时间:2009/5/20 14:58:30
--  

老师,在命令提示符里输入批处理命令,出现了这个错误

Exception in thread "main" java.lang.NoClassDefFoundError: org/archive/crawler/Heritrix

Caused by: java.lang.ClassNotFoundException: org.archive.crawler.Heritrix

at java.net.URLClassLoader$1.run(Unknown Source)

at java.security.AccessController.doPrivileged(Native Method)

at java.net.URLClassLoader.findClass(Unknown Source)

at java.lang.ClassLoader.loadClass(Unknown Source)

at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)

at java.lang.ClassLoader.loadClass(Unknown Source)

at java.lang.ClassLoader.loadClassInternal(Unknown Source)


--  作者:admin
--  发布时间:2009/5/20 19:23:24
--  回复

一般而言,这种错误的产生原因在于没有正确指定jar包的位置,如下面的指令就需要进入heritrix-1.12.0.jar所在的目录,在本例中该目录为:E:\\heritrix,方法为:

e:

cd E:\\heritrix

然后执行下面的命令行指令:

java -Xmx512m -Dheritrix.home=e:\\\\heritrix -cp "E:\\\\heritrix\\\\heritrix-1.12.0.jar;E:\\\\heritrix\\\\lib\\\\commons-codec-1.3.jar;E:\\\\heritrix\\\\lib\\\\commons-collections-3.1.jar;E:\\\\heritrix\\\\lib\\\\dnsjava-2.0.3.jar;E:\\\\heritrix\\\\lib\\\\poi-scratchpad-2.0-RC1-20031102.jar;E:\\\\heritrix\\\\lib\\\\commons-logging-1.0.4.jar;E:\\\\heritrix\\\\lib\\\\commons-httpclient-3.0.1.jar;E:\\\\heritrix\\\\lib\\\\commons-cli-1.0.jar;E:\\\\heritrix\\\\lib\\\\mg4j-1.0.1.jar;E:\\\\heritrix\\\\lib\\\\javaswf-CVS-SNAPSHOT-1.jar;E:\\\\heritrix\\\\lib\\\\bsh-2.0b4.jar;E:\\\\heritrix\\\\lib\\\\servlet-tomcat-4.1.30.jar;E:\\\\heritrix\\\\lib\\\\junit-3.8.2.jar;E:\\\\heritrix\\\\lib\\\\jasper-compiler-tomcat-4.1.30.jar;E:\\\\heritrix\\\\lib\\\\commons-lang-2.1.jar;E:\\\\heritrix\\\\lib\\\\itext-1.2.0.jar;E:\\\\heritrix\\\\lib\\\\poi-2.0-RC1-20031102.jar;E:\\\\heritrix\\\\lib\\\\jetty-4.2.23.jar;E:\\\\heritrix\\\\lib\\\\commons-net-1.4.1.jar;E:\\\\heritrix\\\\lib\\\\libidn-0.5.9.jar;E:\\\\heritrix\\\\lib\\\\ant-1.6.2.jar;E:\\\\heritrix\\\\lib\\\\fastutil-5.0.3-heritrix-subset-1.0.jar;E:\\\\heritrix\\\\lib\\\\je-3.2.13.jar;E:\\\\heritrix\\\\lib\\\\commons-pool-1.3.jar;E:\\\\heritrix\\\\lib\\\\jasper-runtime-tomcat-4.1.30.jar" org.archive.crawler.Heritrix

--  作者:watermelon
--  发布时间:2009/5/20 22:23:42
--  

恩,谢谢老师,我把heritrix拷进e盘就可以了,但是上课老师讲路径可以换,我的heritrix文件夹路径原来是F:\\My Documents\\学习资源\\信息检索\\heritrix,我就在CMD里面打开了这个路径下的heritrix文件夹,然后把上面代码里的E:\\\\heritrix\\\\都换成了F:\\\\My Documents\\\\学习资源\\\\信息检索\\\\heritrix,结果出现了和上面一样的错误,为什么这么改不行呢?是不是因为文件夹名称是中文的?

PS:不好意思老师,我回帖后才知道要到清新茶社去发帖~~以后知道了~~

[此贴子已经被作者于2009-5-20 22:24:18编辑过]

--  作者:admin
--  发布时间:2009/5/20 22:46:25
--  回复

路径F:\\\\My Documents\\\\学习资源\\\\信息检索\\\\heritrix含有空格,而命令提示符遇到空格则认为结束,下面的部分是另一个参数,所以产生错误

正确的方式是使用双引号,如“F:\\\\My Documents\\\\学习资源\\\\信息检索\\\\heritrix