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