当我尝试使用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%**
答案 0 :(得分:5)
使用/C
的{{1}}选项。
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}"/>