2012-06-10 57 views
1

我試圖使用命令「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。這裏需要改變什麼?

+0

檢查你的〜/ .bash_profile,可能$ JAVA_HOME在那裏定義 – Raffaele

回答

4

$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最終代表一個符號鏈接。

1

看起來像Ant假設/usr/bin/java開始。也許你不需要設置它。

或嘗試添加一個前導斜槓(/usr而不是usr)。

0

JAVA_HOME不應該指向java可執行文件,而應該是編譯器所在的'bin'父目錄。通常'/ usr/bin/java'是在其他地方的實際可執行文件的符號鏈接,例如'/ usr/lib/java/jdk */bin/java',在這種情況下,java home應該是/ usr/lib/java/jdk *。