您的位置:首页 > 编程语言 > Java开发

后台运行Heritrix常见错误

2014-11-22 10:10 260 查看
虽然什么事情都没有干但是在eclipse的控制台中打印出了日志,并且也没报错 但是web不能访问

代码是:http://guoyunsky.iteye.com/blog/642550改了一丁点东西

--------------------------------------------------------------------------------------------------

package com.stx.test;

import java.io.File;

import javax.management.InvalidAttributeValueException;

import org.archive.crawler.event.CrawlStatusListener;

import org.archive.crawler.framework.CrawlController;

importorg.archive.crawler.framework.exceptions.InitializationException;

import org.archive.crawler.settings.XMLSettingsHandler;

public class Test {

 public static void main(String[] args) {

  File order=newFile("order.xml"); //这个我放在了根目录下的还有另外的一个文件seeds.txt

  XMLSettingsHandlerorderHandler=null;//声明读取order.xml

  CrawlControllercontroller=null; //控制

  CrawlStatusListenerlistener=null;//监听  

       try {

         //封装order.xml

         if(!order.exists()){

          System.out.println("配置文件找不到结束");

          System.exit(0);

         }

    orderHandler=newXMLSettingsHandler(order);

    orderHandler.initialize();

    

    //控制器加载

    controller=newCrawlController();

    controller.initialize(orderHandler);

    if(listener!=null){

     controller.addCrawlStatusListener(listener);

    }   

    controller.requestCrawlStart();    

    while(true){

     if(controller.isRunning()==false){

      break;

     }

     Thread.sleep(1000);

    }  

    controller.requestCrawlStop(); 

   } catch(InvalidAttributeValueException e) {

    e.printStackTrace();

    System.out.println("加载配置文件失败");

   } catch(InitializationException e) {

    e.printStackTrace();

    System.out.println("控制器加载配置失败");

   } catch(InterruptedException e) {

    e.printStackTrace();

    System.out.println("睡眠抛出异常");

   } 

  

 }

}

--------------------------------------------------------------------------------------------------

问题一:这里是吧order.xml文件和seeds.txt文件复制在根目录的

问题二:报错You must set the User-Agent and From HTTP header values toacceptable strings

        这个是要把order.xml中红色两项修改

 <mapname="http-headers">

     <string name="user-agent">Mozilla/5.0(compatible; heritrix/1.14.4 +http://127.0.0.1)</string>

     <string name="from">Soap09@sina.com</string>

   </map>

问题三:

(JE 3.3.82) A je.lck file exists in E:\spider_word\heritrix_test\state The environment can not be locked for single writer access.

我的是第一次没有解决问题二然后再根目录里面多了一个state的文件夹里面有je.lck 这样个文件          删掉重新运行解决掉了
 
问题四:我直接建了一个工程 只把把src的源文件和包放进去 然后order.xml文件和seeds.txt文件复制在根目录的然后运行这个程序
 报错 thread-10org.archive.util.ArchiveUtils.<clinit>()TLD listunavailable    
为org\archive\util,在该路径下补充该文件就不报错了。

至于该文件的用途还不清楚,有高手可以指点一下。

该文件可以在源文件包src\resources路径下找到。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Heritrix eclipse