我下载了 lucene jar,然后通过我的 .bash_profile 将它们添加到 CLASSPATH 变量中,jar 的路径在终端中正确显示。
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 上也有类似的问题,但似乎没有一个回答这个问题。
最佳答案
你确定你的路是对的吗?对我来说效果很好。
.../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 $
关于java - 在Mac上为lucene设置java类路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7884647/