2010-05-28 81 views
1

我有一个问题,我不希望有调用setEnv.sh文件我打电话给我的调用执行exec任务Ant目标之前。蚂蚁Exec环境VAR

现在我有一种方法来保存setenv.properties文件中的 key = value表示法中的环境变量。

出于某种原因没有看到,在该属性文件.... (我知道我可以使用ENV标签,但动态生成setenv.properties)设置的变量Exec任务

setenv.properties:我的build.xml

HELLO=XYZ 

部分:

<property file="setenv.properties"/> 
<target name="test" depends="setEnv"> 
    <exec executable="/bin/ksh" newenvironment="false"> 
    <arg value="test.ksh" /> 
    </exec> 
</target> 

test.sh:

echo ${HELLO} 

有什么想法?

回答

0

试试这个:

<target name="test" depends="setEnv"> 
    <property file="setenv.properties"/> 
    <exec executable="/bin/ksh" newenvironment="false"> 
    <arg value="test.ksh" /> 
    </exec> 
</target> 

当你把元素被执行的任何目标前,将在全球范围内评估的元素之外。把标签就行的元素之前和内部setenv.properties文件的标签延迟评估,直到最后一刻和setenv.properties文件已经由之前的“测试”目标运行目标后产生很好。

+0

是啊,我以为渊源是问题和产生的手工文件。仍然没有运气。它看起来像我注意到,它需要在那里你必须指定键值剥的ENV标签exec命令完全不使用该文件的属性,但它似乎不喜欢的属性文件作为输入 – Mike 2010-06-01 15:22:00