Apache Ant无法从Windows中查找环境变量

时间:2018-06-06 17:10:50

标签: ant

我有一个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 :(得分:0)

主要问题是Ant默认情况下不会将环境导入属性。你必须要求它这样做,并指定一个前缀,如:

<property environment="env" />

这会将环境变量加载到名称为env.PATH的属性中,因此您可以使用以下内容访问PATH

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

在Ant中,%PATH%等Windows风格的环境引用并没有什么特别之处,它们只被视为文字字符串。