Проблемы индексации Mac и CLASSPATH - java.lang.NoClassDefFoundError - PullRequest
0 голосов
/ 11 февраля 2011

Свойства системы: Java 1.6 Mac OSX версия 10 Ant 1.8

Сценарий: я работаю над проектом последнего года, который заключается в создании веб-сайта, который использует Lucene для поиска по моему веб-сайту и моей базе данных.Я работаю с демо lucene здесь http://lucene.apache.org/java/2_3_2/demo.html, в котором рассказывается о classpath http://lucene.apache.org/java/2_3_2/demo3.html и веб-примере

Я создал файл .bash_profile в моем домашнем каталоге / Users / philhunter / whichустанавливает мои classpaths:

CLASSPATH=${CLASSPATH}:/Users/philhunter/Desktop/COM562_Project/lucene-3.0.3/lucene-core-3.0.3.jar
CLASSPATH=${CLASSPATH}:/Users/philhunter/Desktop/COM562_Project/lucene-3.0.3/lucene-demo-3.0.3.jar
CLASSPATH=${CLASSPATH}:/Users/philhunter/Desktop/COM562_Project/lucene-3.0.3/src/demo/org/apache/lucene/demo

Когда я пытаюсь выполнить команды, которые он запрашивает в командной строке, я получаю ClassDefNotFoundError:

Exception in thread "main" java.lang.NoClassDefFoundError: /Users/philhunter/Desktop/COM562_Project/lucene-3/0/3/src/demo/org/apache/lucene/demo/IndexHTML
Caused by: java.lang.ClassNotFoundException: .Users.philhunter.Desktop.COM562_Project.lucene-3.0.3.src.demo.org.apache.lucene.demo.IndexHTML
    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)

Команда командной строки:

java /Users/philhunter/Desktop/COM562_Project/lucene-3.0.3/src/demo/org/apache/lucene/demo/IndexHTML -create -index /Applications/MAMP/htdocs/

, который должен индексировать файлы моего сайта.Этот файл indexHTML является файлом java в последнем каталоге classpath выше.Кто-нибудь знает, почему я получаю theat ошибку!?

1 Ответ

0 голосов
/ 11 февраля 2011

Я думаю, что путь, который вы проходите, является проблемой. Попробуйте добавить следующее в ваш bash скрипт

cd /Users/philhunter/Desktop/COM562_Project/lucene-3.0.3/src/demo/
java org.apache.lucene.demo.IndexHTML -create -index /Applications/MAMP/htdocs/

Проблема в том, что при запуске

java /Users/philhunter/Desktop/COM562_Project/lucene-3.0.3/src/demo/org/apache/lucene/demo/IndexHTML

вы говорите java запустить класс в пакете

Users.philhunter.Desktop.COM562_Project.lucene-3.0.3.src.demo.org.apache.lucene.demo
.
...