您通常可以在您的系统(如果您是 Unix)上通过执行or找到实际ant
命令所在的位置。如果您查看该位置,您通常会看到它是目录下实际命令的链接。which ant
type ant
ant
$ANT_HOME
看看这个脚本。如果在环境中没有默认设置这些,其中大部分只是试图确定准确的位置$ANT_HOME
和位置。$JAVA_HOME
您在ant
shell 脚本中看不到的是:
EXPORT JAVA_HOME
因此,即使$JAVA_HOME
在ant
脚本中设置,它也永远不会导出到环境中(除非有人修改了ant
shell 脚本. If an environment variable is not exported, it is unavailable to child processes -- like the
java child process running your
ant` 进程。
因此,如果您在执行$JAVA_HOME
之前未设置的机器上ant
,它将在您的构建脚本中不可用。
但是,Ant 和 Java(因为 Ant 是一个 Java 进程)都设置了一系列您可以使用的默认属性。当 Ant 执行时,它会设置它自己的内置属性,其中包括${ant.home}
. 而且,在执行 Java 时,Java 还会设置一个完整的Java 属性列表,例如${java.home}
.
因此,如果您真的需要知道 JAVA_HOME 目录的位置,请使用该属性${java.home}
,而不是依赖于环境变量$JAVA_HOME
。
如果您想获取这些属性的列表,请运行以下 Ant 构建文件:
<project>
<echoproperties/>
</project>