这是网上的一个配置运行Heritrix的博客,说的很详细,大家可以参考一下
http://hi.baidu.com/wangyantsing/blog/item/9a14ba01c51a9a00728da540.html
老师,在命令提示符里输入批处理命令,出现了这个错误
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)
一般而言,这种错误的产生原因在于没有正确指定jar包的位置,如下面的指令就需要进入heritrix-1.12.0.jar所在的目录,在本例中该目录为:E:\heritrix,方法为:
e:
cd E:\heritrix
然后执行下面的命令行指令:
恩,谢谢老师,我把heritrix拷进e盘就可以了,但是上课老师讲路径可以换,我的heritrix文件夹路径原来是F:\My Documents\学习资源\信息检索\heritrix,我就在CMD里面打开了这个路径下的heritrix文件夹,然后把上面代码里的E:\\heritrix\\都换成了F:\\My Documents\\学习资源\\信息检索\\heritrix,结果出现了和上面一样的错误,为什么这么改不行呢?是不是因为文件夹名称是中文的?
PS:不好意思老师,我回帖后才知道要到清新茶社去发帖~~以后知道了~~
路径F:\\My Documents\\学习资源\\信息检索\\heritrix含有空格,而命令提示符遇到空格则认为结束,下面的部分是另一个参数,所以产生错误
正确的方式是使用双引号,如“F:\\My Documents\\学习资源\\信息检索\\heritrix”