簡體   English   中英

在Mac上為Lucene設置Java類路徑

[英]Setting java classpath for lucene on a mac

我下載了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 6.0開始,這些似乎有效:

java -cp ./core/lucene-core-6.0.0.jar:./analysis/common/lucene-analyzers-common-6.0.0.jar:./demo/lucene-demo-6.0.0.jar  org.apache.lucene.demo.IndexFiles -docs <directory to index>

對於搜索演示:

java -cp ./core/lucene-core-6.0.0.jar:./analysis/common/lucene-analyzers-common-6.0.0.jar:./queryparser/lucene-queryparser-6.0.0.jar:./demo/lucene-demo-6.0.0.jar  org.apache.lucene.demo.SearchFiles

您確定您的路徑正確嗎? 這對我來說可以。

.../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 $

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM