我在以下 ant 宏定义定义中有一个错误:
<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 属性的值传递给该任务。