我在以下ant macrodef定义中有一个错误:
<macrodef name="xxx" description="does xxx">
<attribute name="attr1" default=""/>
<sequential>
<echo message="doing yyy"/>
<echo message="@{attr1}" file="${builddir}/zzz.xml"/>
<taskdef name="xmltask" classname="com.oopsconsultancy.xmltask.ant.XmlTask"/>
<xmltask report="true" source="${builddir}/zzz.xml">
<call path="spuds" target="process-spuds">
<param name="spud-kicker" path="@count"/>
</call>
</xmltask>
</sequential>
</macrodef>
当它试图在xmltask中调用调用的目标时,我得到一个空指针异常。
我做错了什么?
文件zzz.xml包含(据称)格式良好的xml。它包含一个名为“spuds”的顶级标记,其属性名为count。我想在spuds标签上调用spud-kicker ant目标,并将count属性的值传递给该任务。