设置java home

我正在尝试使用命令“ant build”。消息说java home is not defined correctly we cannot execute /usr/bin/java//bin/java

如果我使用命令echo $JAVA_HOME则返回usr/bin/java 。 需要改变什么?

$JAVA_HOME变量不是指java可执行文件,而是指bin/java可执行文件本身的父目录。 这就是Ant抱怨无法执行某些神秘的/usr/bin/java//bin/java

例如,在我的情况下(Ubuntu 12.04,OpenJDK),java home被设置为

 /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 home应该是/ usr / lib中/ JAVA / JDK *。