我下載了lucene jar,然後通過我的.bash_profile將它們添加到CLASSPATH變量中,jar的路徑在終端中正確顯示。在mac上爲lucene設置java classpath
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上運行。似乎有類似的問題浮動在計算器周圍,但他們似乎都沒有回答這個問題。
你是正確的,我錯誤地留出了通道的一部分!愚蠢的問題,但是是否有可能獲得類路徑中jar包的tab完成?到目前爲止,我必須輸入課程的全名,這很煩人。 –
@Damonkashu是的,類路徑可能會很痛苦。順便說一句,我通常建議不要使用環境類路徑 - 最好是在shell腳本中進行設置。我知道你*可以*在bash中實現類名完成(搜索「bash-completion」),但我不知道如何。 Zsh默認使用它,這非常酷。 –