1

SOLR をインストールして「ant example」を実行しようとしていますが、ビルドはかなり進んでいますが、エラーが発生します。

/root/apache-solr-3.2.0/solr/common-build.xml:250: The following error occurred while executing this line:
/root/apache-solr-3.2.0/lucene/contrib/contrib-build.xml:58: The following error occurred while executing this line:
/root/apache-solr-3.2.0/lucene/common-build.xml:298: The following error occurred while executing this line:
/root/apache-solr-3.2.0/lucene/common-build.xml:733: Unable to find a javac compiler;
com.sun.tools.javac.Main is not on the classpath.
Perhaps JAVA_HOME does not point to the JDK.
It is currently set to "/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/jre"

JAVA_HOME を明示的に設定しました (以下を参照)。

# echo $JAVA_HOME
/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/

ただし、ant を実行すると、JAVA_HOME は # echo $JAVA_HOME /usr/lib/jvm/java-1.6.0 ではなく /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/jre として表示されます。 -openjdk-1.6.0.0.x86_64/ . これがどこに設定されているのかわかりません。これにより問題が解決する可能性があると他の投稿で述べられているように、ANT_HOMEも設定しました。

# echo $ANT_HOME
/usr/share/ant/

それもそれを修正しません。

4

1 に答える 1

3

OK、私は抱えていた問題を解決することができました。JAVA_HOME を設定しましたが、システム環境変数としてではありませんでした。

基本的に、ant は新しいプロセスを生成していて、私が設定したシェル変数を取得していませんでした。したがって、私の現在のシェルは $JAVA_HOME を見ることができましたが、ant が実行されているときはできませんでした。次の質問に対するブライアン・ケリーの有益なコメントでした。

What does java.home show if you run: ant -diagnostics | grep java.home

これは、ant がデフォルトで Java を探している場所を示し、私の変数が取得されていないことを証明しました。

私が接続していたマシンは bash を実行していたので、以下の行を .bash_profile に入れる必要がありました:

JAVA_HOME=/usr/java/jdk1.6.0_18
export JAVA_HOME

この後、滞りなく走りました。

これが誰かに役立つことを願っています。

于 2011-11-08T17:42:03.547 に答える