我試圖使用命令「Ant構建」 .The消息稱java home is not defined correctly we cannot execute /usr/bin/java//bin/java <notice the 2 slashes>
設置Java家裏
如果我使用它返回usr/bin/java
命令echo $JAVA_HOME
。這裏需要改變什麼?
我試圖使用命令「Ant構建」 .The消息稱java home is not defined correctly we cannot execute /usr/bin/java//bin/java <notice the 2 slashes>
設置Java家裏
如果我使用它返回usr/bin/java
命令echo $JAVA_HOME
。這裏需要改變什麼?
$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可執行文件,而應該是編譯器所在的'bin'父目錄。通常'/ usr/bin/java'是在其他地方的實際可執行文件的符號鏈接,例如'/ usr/lib/java/jdk */bin/java',在這種情況下,java home應該是/ usr/lib/java/jdk *。
檢查你的〜/ .bash_profile,可能$ JAVA_HOME在那裏定義 – Raffaele