我下载了lucene jar,然后通过我的.bash_profile将它们添加到CLASSPATH变量中,jars的路径在终端中正确显示。
export CLASSPATH=/Users/dk/lucene-3.4.0/lucene-core-3.4.0.jar
export CLASSPATH=$CLASSPATH:/Users/dk/lucene-3.4.0/contrib/demo/lucene-demo-3.4.0.jar
echo $CLASSPATH
/Users/dk/lucene-3.4.0/lucene-core-3.4.0.jar:/Users/dk/lucene-3.4.0/contrib/demo/lucene-demo-3.4.0.jar
然而,当我尝试运行演示时,java仍然向我抱怨:
java org.apache.lucene.demo.IndexFiles -docs .
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/lucene/demo/IndexFiles
Caused by: java.lang.ClassNotFoundException: org.apache.lucene.demo.IndexFiles
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
......
我能够按照这个确切的程序让lucene演示在ubuntu机器上运行,现在我只是希望它能够在我的mac上运行。似乎在stackoverflow上有类似的问题,但它们似乎都没有回答这个问题。
答案 0 :(得分:0)
你确定你的路径正确吗?它对我来说很好。
.../lucene-3.4.0/tmp $ ls
lucene-core-3.4.0.jar lucene-demo-3.4.0.jar
.../lucene-3.4.0/tmp $ export CLASSPATH=./lucene-core-3.4.0.jar:./lucene-demo-3.4.0.jar
.../lucene-3.4.0/tmp $ echo $CLASSPATH
./lucene-core-3.4.0.jar:./lucene-demo-3.4.0.jar
.../lucene-3.4.0/tmp $ java org.apache.lucene.demo.IndexFiles -docs .
Indexing to directory 'index'...
adding ./lucene-core-3.4.0.jar
adding ./lucene-demo-3.4.0.jar
1485 total milliseconds
.../lucene-3.4.0/tmp $