2011-02-11 58 views
0

系統屬性: 的Java 1.6 的Mac OSX版本10 螞蟻1.8Mac的索引和CLASSPATH的問題 - java.lang.NoClassDefFoundError

情景:我的工作我的最後一年的項目是建立一個網站,它使用Lucene搜索我的網站和我的數據庫。我經過這裏的Lucene演示 http://lucene.apache.org/java/2_3_2/demo.html 其中談到的classpath http://lucene.apache.org/java/2_3_2/demo3.html和web例如工作

我在我的主目錄/用戶/ philhunter /這臺我的類路徑創建一個.bash_profile文件中:

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) 

命令行COM mand是:

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

哪應該索引我的網站文件。這indexHTML文件是高於去年的classpath目錄中的Java文件。任何人都知道我爲什麼得到這個錯誤!?

+0

不.class文件在/Users/philhunter/Desktop/COM562_Project/lucene-3.0.3/src/demo/org/apache/lucene/demo/IndexHTML位置存在嗎? – Pushkar 2011-02-11 15:11:39

+0

沒有,只是java文件。 – 2011-02-11 16:14:45

回答

0

我想你傳遞的路徑問題。嘗試添加以下到您的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