在ant脚本中使用if语句时出现异常
我试图将属性变量的值与字符串进行比较,如下所示在ant脚本中使用if语句时出现异常,ant,ant-contrib,Ant,Ant Contrib,我试图将属性变量的值与字符串进行比较,如下所示 <if> <equals "${mat.projectName}"="seal"> <then> 当这样做的时候,我得到了以下信息 元素类型“equals”后面必须跟属性规范“>”或 “/>” 我正在使用eclipse框架来实现这一点。请先阅读手册: 显然,从手册中我们知道等于: arg1要测试的第一个值 arg2要测试的第二个值 应该如此 <if> <equals ar
<if>
<equals "${mat.projectName}"="seal">
<then>
当这样做的时候,我得到了以下信息
元素类型“equals”后面必须跟属性规范“>”或
“/>”
我正在使用eclipse框架来实现这一点。请先阅读手册:
显然,从手册中我们知道等于:
arg1要测试的第一个值
arg2要测试的第二个值
应该如此
<if>
<equals arg1="${mat.projectName}" arg2="seal" />
<then>
...
...
我建议您先阅读XML指南,然后再阅读Ant手册
更新:
任务不是由Ant提供的;它由Ant Contrib提供。所以你需要
例如,我将ant-contrib.jar放在项目的lib目录(${basedir}/lib)中,因此我可以编写以下代码:
<taskdef resource="net/sf/antcontrib/antcontrib.properties">
<classpath>
<pathelement location="lib/ant-contrib.jar"/>
</classpath>
</taskdef>
有关更多信息,您可以查看taskdef
的手册页以及Ant contrib的网页:
错误消息所说的正是
元素类型“equals”后面必须跟属性规范“>”或“/>”
你想要这个:
<if>
<equals arg1="${mat.projectName}" arg2="seal"/>
<then>
<yadda, yadda, yadda/>
</then>
</if>
是的,我认出了。非常感谢。但即使在更改之后,我也会遇到异常:BUILD FAILED F:\Projects\Seal\BUILD.xml:308:问题:如果我应该使用任何jar,则无法创建任务或类型?原因:名称未定义。措施:检查拼写。操作:检查是否已声明任何自定义任务/类型。措施:检查是否发生了任何/声明。顺便说一下,对于taskdef问题,您可以轻松使用google获得答案。像这样的问题很可能会被否决。所以,总是谷歌优先。@coolcfan:+1。你让这个问题变得有用,并阻止了它的投票
<if>
<not>
<equals arg1="${mat.projectName}" arg2="seal"/>
</not>
<then>
<yadda, yadda, yadda/>
</then>
</if>