我遇到一个问题,我不想在调用调用exec任务的ant目标之前调用setEnv.sh文件。
现在我有办法将环境变量保存在setenv.properties文件中 key =值表示法。
exec任务由于某种原因没有看到.properties文件中设置的变量.... (我知道我可以使用env标签但是setenv.properties是动态生成的)
setenv.properties:
HELLO=XYZ
我的build.xml的一部分:
<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 :(得分:0)
试试这个:
<target name="test" depends="setEnv">
<property file="setenv.properties"/>
<exec executable="/bin/ksh" newenvironment="false">
<arg value="test.ksh" />
</exec>
</target>
当您将元素放在元素之外时,它将在执行任何目标之前进行全局计算。将标记放在元素之前和标记内部的行上会延迟对setenv.properties文件的评估,直到最后一刻,并且在“test”目标之前的目标运行生成setenv.properties文件之后。 / p>