设置java_home

时间:2012-06-10 15:45:05

标签: java android linux

我正在尝试使用“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。需要改变什么?

3 个答案:

答案 0 :(得分:4)

$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最终代表符号链接。

答案 1 :(得分:1)

看起来Ant正在假设/usr/bin/java开始。也许你不需要设置它。

或尝试添加前导斜杠(/usr而不是usr)。

答案 2 :(得分:0)

JAVA_HOME不应该指向java可执行文件,而应该是编译器所在的javac所在的'bin'的父目录。

通常'/ usr / bin / java'是指向其他地方的实际可执行文件的符号链接,例如'/ usr / lib / java / jdk * / bin / java',在这种情况下java home应该是/ usr / lib / java / jdk *。