我有一个Ant构建任务,其中基于我需要根据我在运行时获得的值查找属性文件。例如,我在属性文件
中有以下信息COMPLETE_LIST=TEST1,TEST2,TEST3
TEST1=val1
TEST2=val2
TEST3=val3
在我的Ant目标中,我有以下任务。
<target name="target_main">
<foreach param="profile_name" list="${COMPLETE_LIST}" target="target_child">
</foreach>
</target>
<target name="target_child">
<echo>Printing the value of the param passed ${${profile_name}}</echo>
</target>
但这不起作用。是否有任何方法可以获得作为参数传递的TEST1
的值?
由于您已经在使用ant-contrib,因此propertycopy任务将帮助您完成所需的操作。以下是target_child
的主体修改以适应您的目的:
<target name="target_child">
<propertycopy name="value" from="${profile_name}"/>
<echo>Printing the value of the param passed ${${profile_name}}</echo>
</target>
输出:target_main:
target_child:
[echo] Printing the value of the param passed val1
target_child:
[echo] Printing the value of the param passed val2
target_child:
[echo] Printing the value of the param passed val3