0

ここに示すように、crawler4jの基本的な形式を実行しようとしています。rootFolderとnumberOfCrawlersを次のように定義して、最初の数行を変更しました。

public class BasicCrawlController {

    public static void main(String[] args) throws Exception {
            if (args.length != 2) {
                    System.out.println("Needed parameters: ");
                    System.out.println("\t rootFolder (it will contain intermediate crawl data)");
                    System.out.println("\t numberOfCralwers (number of concurrent threads)");
                    return;
            }

            /*
             * crawlStorageFolder is a folder where intermediate crawl data is
             * stored.
             */
             String crawlStorageFolder = args[0];

              args[0] = "/data/crawl/root";

            /*
             * numberOfCrawlers shows the number of concurrent threads that should
             * be initiated for crawling.
             */
            int numberOfCrawlers = Integer.parseInt(args[1]);

            args[1] = "7";


            CrawlConfig config = new CrawlConfig();

            config.setCrawlStorageFolder(crawlStorageFolder);

どのように定義しても、エラーが発生します

Needed parameters: 
 rootFolder (it will contain intermediate crawl data)
 numberOfCralwers (number of concurrent threads)

「実行設定」ウィンドウでパラメータを設定する必要があると思いますが、それが何を意味するのかわかりません。この基本的なクローラーを適切に構成して起動して実行するにはどうすればよいですか?

4

1 に答える 1

2

javacキーワードを使用してプログラムをコンパイルした後、次のように入力してプログラムを実行する必要があります。

javaBasicCrawlerコントローラー"arg1""arg2"

エラーは、プログラムの実行時にarg[0]またはarg[1]を指定していないことを示しています。また、この「args [1] = "7";」とは何ですか?クローラーの数のパラメーターを既に受け取った後?

とにかくハードコードされた値を使用しようとしているため、最初の5行を削除しようとしているように見えます。次に、crawlForStorage文字列をディレクトリパスに設定し、numberOfCrawlersを7に設定します。その後、コマンドラインパラメータを指定する必要はありません。コマンドラインパラメータを使用する場合は、上記のハードコードされた値を削除し、CLで指定します

于 2012-04-03T21:15:12.523 に答える