Ответ 1
Сообщение сообщает вам, что Ant не удалось разрешить свойство env.JAVA_HOME
; это означает, что переменная среды JAVA_HOME
не была установлена в этой машине.
В моем файле build.xml у меня есть следующие строки:
<property environment="env"/>
<echo message="JAVA_HOME is set to = ${env.JAVA_HOME}" />
На какой-то машине это напечатает
"JAVA_HOME is set to = /usr/jdk1.6"
Но на некоторых других он напечатает это
"JAVA_HOME is set to = ${env.JAVA_HOME}"
Кто-нибудь знает, что может вызвать это?
Спасибо
Сообщение сообщает вам, что Ant не удалось разрешить свойство env.JAVA_HOME
; это означает, что переменная среды JAVA_HOME
не была установлена в этой машине.
Обычно вы можете найти в своей системе (если вы Unix), где находится настоящая команда ant
, выполняя либо which ant
, либо type ant
. Если вы посмотрите на это местоположение, вы обычно увидите, что это ссылка на фактическую команду ant
в каталоге $ANT_HOME
.
Взгляните на этот script. Большая часть из них просто пытается точно определить, где находятся $ANT_HOME
и $JAVA_HOME
, если они не установлены по умолчанию в среде.
Что вы не видите в оболочке ant
script:
EXPORT JAVA_HOME
Итак, хотя $JAVA_HOME
устанавливается внутри ant
script, он никогда не экспортируется в среду (если только кто-то не изменил оболочку ant
script . If an environment variable is not exported, it is unavailable to child processes -- like the
java child process running your
ant `процесс.
Таким образом, если вы находитесь на машине, где $JAVA_HOME
не установлен до выполнения ant
, он не будет доступен в вашей сборке script.
Однако, как Ant, так и Java (поскольку Ant - это процесс Java), настройте целое множество свойств по умолчанию, которые вы можете использовать. Когда выполняется Ant, он устанавливает собственные встроенные свойства, которые включают такие вещи, как ${ant.home}
. И, когда Java выполняется, Java также устанавливает полный список Свойства Java, например ${java.home}
.
Итак, если вам действительно нужно знать, где находится каталог JAVA_HOME, используйте свойство ${java.home}
и не зависеть от переменной окружения $JAVA_HOME
.
Если вы хотите получить список этих свойств, запустите следующий файл Ant build:
<project>
<echoproperties/>
</project>