Apache Ant не может найти переменные окружения из Windows - PullRequest
0 голосов
/ 06 июня 2018

У меня есть файл сборки ant, в котором я пытаюсь использовать исполняемый файл, указанный в переменной среды, но Ant не может его найти.

Я повторил значение переменной PATH и обнаружил, чтона самом деле ничего не получается.Я не уверен, почему.

Ниже приведен пример кода и вывод.

Файл сборки Ant:

 <target name ="cmd-local">
    <echo message="$PATH is set to = ${PATH}" />
    <echo message="%PATH is set to = %PATH%" />
    <exec executable="cmd.exe">
        <arg line="/c echo %PATH%" />  
     </exec>
 </target>

Вывод:

[echo] $PATH is set to = ${PATH}
[echo] %PATH is set to = %PATH%
[exec] C:/Users/user1/Application/jdk1.8.0_121/bin/..

Я не уверен, почему первые два ничего не печатают.

1 Ответ

0 голосов
/ 08 июня 2018

Основная проблема в том, что Ant не импортирует среду в свойства по умолчанию.Вы должны попросить его сделать это и указать префикс, например:

<property environment="env" />

, который будет загружать переменные среды в свойства с именами, такими как env.PATH, следовательно, вы получите доступ к PATH с чем-то вроде:

<echo message="$PATH is set to = ${env.PATH}" />

В Ant нет ничего особенного в ссылках среды в стиле Windows, таких как %PATH%, они просто обрабатываются как буквенные строки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...