2014-10-21 3 views
0

Я установил ANT_HOME в более старую версию ANT для моей компиляции Java-проектов.Настройка переменной среды с использованием ANT-скриптов

Для моего развертывания других приложений на серверных машинах у меня есть другое место ANT, называемое ANT2.

Перед развертыванием файлов, я хотел бы установить мой ANT_HOME в АНТ2 и для этого у меня есть следующий сценарий ANT

<target name="run"> 
    <exec executable="cmd" failonerror="true"> 
      <env key="ANT_HOME" value="D:\apps\apache-ant-1.8.4"/> 
      <arg value="/c"/> 
     </exec> 
     <property environment="env"/> 
    <echo message="${env.ANT_HOME}"/> 
</target> 

Однако, когда я исполняю выше, мой ANT домой не изменяет D:\apps\apache-ant-1.8.4 вместо ANT_HOME отображается как D:\apps\old\ant

Что я делаю неправильно и как я могу решить эту проблему?

ответ

1

этот код не выполняется в дочернем процессе

эхо-сообщение = "$ {env.ANT_HOME}"

так показывает ANT_HOME от текущей среды (который не установлен в D: \ приложения \ апач-муравей-1.8.4). Вы должны распечатать ANT_HOME изнутри приложения cmd, чтобы увидеть его значение в дочернем процессе.

+0

Да, вы правы, похоже, что с изменением значения 'exec' ANT_HOME и после завершения EXEC-области значение возвращается к исходному. – user75ponic

+0

Если есть способ сохранить разметку exec в '' и' ', тогда это было бы хорошо, поскольку мой основной кусок скрипта в них. – user75ponic

Смежные вопросы