java - 线程 "main"java.lang.NoClassDefFoundError : org/apache/http/conn/scheme/SchemeSocketFactory while Using Crawler4j 中出现异常

标签 java exception crawler4j

我正在使用 Crawler4j 示例代码,但我发现出现了异常。

这是我的异常(exception):

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/http/conn/scheme/SchemeSocketFactory
    at LocalDataCollectorController.main(LocalDataCollectorController.java:24)
Caused by: java.lang.ClassNotFoundException: org.apache.http.conn.scheme.SchemeSocketFactory 

这是我的代码:

    public static void main(String[] args) throws Exception {

            String root Folder = "D:\\";
            int numberOfCrawlers = 5;
            System.out.println("numberOfCrawlers"+numberOfCrawlers);
            System.out.println(rootFolder);

          CrawlConfig config = new CrawlConfig();
            config.setCrawlStorageFolder(rootFolder);
            config.setMaxPagesToFetch(10);
            config.setPolitenessDelay(1000);

              PageFetcher pageFetcher = new PageFetcher(config);
           RobotstxtConfig robotstxtConfig = new RobotstxtConfig();
            RobotstxtServer robotstxtServer = new RobotstxtServer(robotstxtConfig, pageFetcher);
            CrawlController controller = new CrawlController(config, pageFetcher, robotstxtServer);

            controller.addSeed("http://www.ohloh.net/p/crawler4j");
            controller.start(LocalDataCollectorCrawler.class, numberOfCrawlers);

            List<Object> crawlersLocalData = controller.getCrawlersLocalData();
            long totalLinks = 0;
            long totalTextSize = 0;
            int totalProcessedPages = 0;
            for (Object localData : crawlersLocalData) {
                    CrawlStat stat = (CrawlStat) localData;
                    totalLinks += stat.getTotalLinks();
                    totalTextSize += stat.getTotalTextSize();
                    totalProcessedPages += stat.getTotalProcessedPages();
            }
           System.out.println("Aggregated Statistics:");
            System.out.println("   Processed Pages: " + totalProcessedPages);
            System.out.println("   Total Links found: " + totalLinks);
            System.out.println("   Total Text Size: " + totalTextSize);
    }

}

最佳答案

下载HttpClient并将其添加到您的构建路径中。

还有一个包,其中包含download section中的所有crawler4j依赖项。 。您应该使用它来避免进一步的问题。

关于java - 线程 "main"java.lang.NoClassDefFoundError : org/apache/http/conn/scheme/SchemeSocketFactory while Using Crawler4j 中出现异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10430846/

相关文章:

C# 自定义窗体在退出时抛出 COMException

WPF - DispatcherUnhandledException 似乎不起作用

c++ - 重新抛出 const 异常引用

java - 分析/可视化两个程序版本之间的 GC 使用模式?

java - 有没有办法从子包中访问类中 `args[0]`的值

java - 如何禁用 Crawler4J 记录器?

java - 什么是 .lck 文件?为什么我无法使用缓冲读取器读取它?

java - 如何使用 crawler4j 进行抓取?

java - 如何在 Android 模拟器中模拟低内存?

java - 使用 StreamingOutput 对象写入 Excel 文件。 (java.lang.ClassCastException)