6

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

当我使用 cmd 从命令行设置和回显时,它可以完美地工作文件。

<exec executable="cmd">
    <arg value="set"/>
    <arg value="MY_VAR=SOME_VAL"/>
</exec>
-->
<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%**
4

2 回答 2

5

使用 的/C选项cmd.exe

构建.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:
     [exec] SOME_VAL
于 2013-11-11T15:28:08.260 回答
0

Are you sure the problem is not in your reading of the variable?

<property environment="env"/>
<property name="MY_VAR" value="${env.MY_VAR}"/>
于 2013-11-11T09:08:25.290 回答