Проблема Nutch: java.lang.NoClassDefFoundError - PullRequest
1 голос
/ 03 декабря 2010

Я пытаюсь запустить Nutch на моей машине с Windows.У меня установлены Nutch, Java, Tomcat и Cygwin.Когда я пытаюсь запустить команду crawl в Cygwin, я получаю следующую ошибку:

java.lang.NoClassDefFoundError: org/apache/nutch/crawl/Crawl
Caused by: java.lang.ClassNotFoundException: org.apache.nutch.crawl.Crawl
    at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
Could not find the main class: org.apache.nutch.crawl.Crawl.  Program will exit.
Exception in thread "main"

Мой Java немного ржавый, но, похоже, это говорит о том, что класс Crawl не существует,Если это так, как мне найти его и убедиться, что моя система знает о его существовании?

Ответы [ 5 ]

4 голосов
/ 03 декабря 2010

Вы должны добавить ореховый кувшин к вашему классу. Смотрите здесь как

Похоже, что распределение орехов не поставляется с банкой. Вы должны построить его самостоятельно, используя муравья build.xml. Введите ant jar в каталоге Nutch (если у вас установлен ant), и он создаст jar.

2 голосов
/ 17 марта 2012

для NUTCH-1.4, работает

ant job

изнутри каталога nutch, а затем перемещение полученного файла nutch - *. Job из подкаталога build в подкаталог src, помогло мне.

0 голосов
/ 31 января 2012

Я не знаю, сколько лет, у меня были те же проблемы с Nutch 1.4, хорошо мое решение:

  • установить NUTCH_JAVA_HOME в домашнюю папку java
  • установить NUTCH_HOME
  • установить JAVA_HOME
  • установить CLASSPATH для включения всех необходимых файлов JAR

открыть орех в bin и

  1. изменить cygwin вручную на true
  2. УДАЛИТЬ родную папку из папки lib

99% При сканировании должно появиться что-то знакомое.

0 голосов
/ 03 декабря 2010

Какую версию вы используете? Поскольку некоторые версии включают в себя .jar, однако последние версии, такие как 1.2, этого не делают, и где-то есть предупреждение о том, что вы должны создать его самостоятельно.

0 голосов
/ 03 декабря 2010

JVM сообщает вам, что не может найти класс Crawl.Это наиболее вероятно, потому что аргументы командной строки, передаваемые команде java, не указывают правильный путь к классу.(Путь к классам - это путь поиска, используемый при поиске классов, который обычно задается в командной строке или с помощью переменной среды CLASSPATH.)

...