Apache Luceneデモを機能させようとしていますが、このチュートリアルでクラスパスを設定することにしました http://lucene.Apache.org/Java/2_3_2/demo.html
私はWebを探しましたが、これらはCLASSPATHを設定するために見つけた2つのソリューションです。
CLASSPATH=${CLASSPATH}:/Users/philhunter/Desktop/COM562\ Project/lucene-3.0.3/lucene-core-3.0.3.jar
そして
setenv CLASSPATH ${CLASSPATH}:/Users/philhunter/Desktop/COM562\ Project/lucene-3.0.3/lucene-core-3.0.3.jar
2番目のものはエラーを引き起こします-bash:setenv:コマンドが見つかりません
最初のものは問題ないように見えましたが、チュートリアルの次のステップを試したところ、エラーが発生しました。次のステップは、以下を実行することでした。
Phil-hunters-MacBook:webapps philhunter$ Java org.Apache.lucene.demo.IndexFiles /Users/philhunter/Desktop/COM562\ Project/lucene-3.0.3/src
それは私にエラーを与えました:
スレッド「メイン」Java.lang.NoClassDefFoundErrorの例外:org/Apache/lucene/demo/IndexFiles
これにより、CLASSPATHSが正しく設定されなかったと思います。私はこれを仮定するのが正しいでしょうか?私は他のチュートリアルやデモを試しましたが、これと同じエラーがかなり発生することを確認しました。 Luceneは初めてで、MacおよびUnixシェルスクリプトは比較的新しいです。私がCLASSPATHを正しく設定しているかどうか、そしてそれがエラーの原因であるかどうかを誰かが知っていますか?
CLASSPATH
のような環境変数を設定すると、デフォルトでは現在のプロセス(つまり、シェルプロセス自体)にのみ適用されます-Javaプロセスでは使用できません次の行で起動します。他のプロセスで使用できるようにするには、変数を「エクスポート」する必要があります。この場合、次のようなものを使用できます。
export CLASSPATH=${CLASSPATH}:/Users/philhunter/Desktop/COM562\ Project/lucene-3.0.3/lucene-core-3.0.3.jar
これは基本的に、「CLASSPATH変数を現在の値とlucene jarの場所に設定し、このシェルから起動されたすべてのプロセスで新しい変数を使用できるようにする」ことを意味します。
ただし、Javaクラスパスを設定する通常の方法は、-classpath
または-cp
を使用して、Java
コマンド自体の一部として行うことです。オプション。あなたの場合、次のようになります。
Phil-hunters-MacBook:webapps philhunter$ Java -cp /Users/philhunter/Desktop/COM562\ Project/lucene-3.0.3/lucene-core-3.0.3.jar org.Apache.lucene.demo.IndexFiles /Users/philhunter/Desktop/COM562\ Project/lucene-3.0.3/src
余談ですが、setenv
行を使用するときに表示されるエラーは、setenv
が環境変数を設定するためにCシェルで使用されるコマンドであるが、デフォルトのMacシェル(およびユーザーが使用するシェル)であるためです。 re using)はbash
です。これはsetenv
を認識せず、エラーメッセージ-bash: setenv: command not found
で認識されないことを通知します。
ターミナルタイプで
$ vim ~/.bash_profile
ファイルを編集して1行追加します。
export CLASSPATH=${CLASSPATH}:/usr/local/lucene-3.6.2/lucene-core-3.6.2.jar:/usr/local/lucene-3.6.2/contrib/demo/lucene-demo-3.6.2.jar;
必ずあなたの道を変えてください。
あなたのやり方では、クラスパスにlucene-demo-3.0.3.jarを追加することに失敗します。
ホームディレクトリに.bash_profileファイルを作成し、次のようなことを行います。
export GRAILS_HOME=/usr/share/grails
...
export PATH=${GRAILS_HOME}/bin:${GROOVY_HOME}/bin:/usr/local/mysql-5.1.45-osx10.6-x86_64/bin:${PATH}
その作業を行ってクラスパスを設定できます。これらの例は、環境変数を宣言する方法と、その変数を他の変数で使用する方法を示しています。