使用ant的exec任务设置env变量 - 似乎不起作用

时间:2013-11-11 08:53:50

标签: ant environment-variables

当我尝试使用ant的exec任务设置一些变量时,它似乎没有设置为我所需的值。不确定这里有什么问题。

当我设置&使用cmd从命令行回显。

<exec executable="cmd">
    <arg value="set"/>
    <arg value="MY_VAR=SOME_VAL"/>
</exec>
- &GT;
<echo message="MY_VAR is set to %MY_VAR%"/>

输出如下:

exec
Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation.  All rights reserved.

C:\MY_PROJ_BASE_DIR_HERE>
echo
MY_VAR is set to **%MY_VAR%**

2 个答案:

答案 0 :(得分:5)

使用/C的{​​{1}}选项。

的build.xml

cmd.exe

输出

<project name="ant-exec-cmd-with-env-key" default="run">
    <target name="run">
        <exec executable="cmd" failonerror="true">
            <env key="MY_VAR" value="SOME_VAL"/>
            <arg value="/c"/>
            <arg value="echo %MY_VAR%"/>
        </exec>
    </target>
</project>

答案 1 :(得分:0)

您确定问题不在于您阅读变量吗?

<property environment="env"/>
<property name="MY_VAR" value="${env.MY_VAR}"/>