コマンド「ant build」を使用しようとしています。メッセージは次のように表示されますjava home is not defined correctly we cannot execute /usr/bin/java//bin/java <notice the 2 slashes>
コマンドを使用するecho $JAVA_HOME
と、返されますusr/bin/java
。ここで何を変更する必要がありますか?
この$JAVA_HOME
変数は、Java 実行可能ファイルを参照するのではなく、bin/java
実行可能ファイル自体の親ディレクトリを参照します。これが、Ant が不可解な を実行できないと文句を言う理由/usr/bin/java//bin/java
です。
たとえば、私の場合 (Ubuntu 12.04、OpenJDK)、Java ホームは次のように設定されています。
/usr/lib/jvm/java-6-openjdk-amd64/jre
明らかに が存在し/usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java
、/usr/bin/java
最終的にはシンボリック リンクを表します。
Ant が/usr/bin/java
起動することを想定しているようです。設定する必要はないのではないでしょうか。
/usr
または、先頭にスラッシュ (の代わりに)を追加してみてくださいusr
。
JAVA_HOME は、Java 実行可能ファイルを指してはいけません。むしろ、javac コンパイラーが配置されている「bin」の親ディレクトリーでなければなりません。
通常、「/usr/bin/java」は、「/usr/lib/java/jdk*/bin/java」など、別の場所にある実際の実行可能ファイルへのシンボリック リンクです。この場合、Java ホームは /usr になります。 /lib/java/jdk*.