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

use*_*504 4 ant environment-variables

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

当我使用cmd从命令行设置&echo时,它可以正常工作.

<exec executable="cmd">
    <arg value="set"/>
    <arg value="MY_VAR=SOME_VAL"/>
</exec>
Run Code Online (Sandbox Code Playgroud) - >
<echo message="MY_VAR is set to %MY_VAR%"/>
Run Code Online (Sandbox Code Playgroud)

输出看起来像:

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%**
Run Code Online (Sandbox Code Playgroud)

Cha*_*uis 5

使用/C选项cmd.exe.

build.xml文件

<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>
Run Code Online (Sandbox Code Playgroud)

产量

run:
     [exec] SOME_VAL
Run Code Online (Sandbox Code Playgroud)