ant-contrib最新版本是ant-contrib-1.0b3.jar
?
http://ant-contrib.sourceforge.net/tasks/tasks/more_conditions.html
此文档显示endsWith
条件
但我使用ant 1.8.2和ant-contrib-1.0b3.jar
,我找不到endsWith
条件
<if>
<endswith string="D:\FeiLong Soft\Essential\Development\repository\org\springframework\spring-beans" with="spring-beans" />
<then>
<echo>equals</echo>
</then>
<else>
<echo>not equals</echo>
</else>
</if>
但结果:
BUILD FAILED
E:\Workspaces\feilong\feilong-platform\tools\feilong-tools-ant\build.xml:32: if
doesn't support the nested "endswith" element.
Total time: 1 second
答案 0 :(得分:4)
检查来自antcontrib(版本1.0b2或1.0b3)的来源,特别是net/sf/antcontrib/antcontrib.properties
和../antlib.xml
您会看到,虽然在antcontrib manual中提到过startsWith
或endsWith
条件。
这两个条件来自Antelope project,它提供了运行ant和几个ant任务的UI。 多年前有计划将Antelope与AntContrib合并,见Antelope Tasks Merging with AntContrib和Antelope项目网站:
羚羊项目还提供了一系列附加任务 提供分发的标准任务中没有的功能 蚂蚁。正在进行将Antelope任务与AntContrib合并的工作 项目。
[...]蚂蚁 - 贡献项目是一系列任务 (在某一点上,可能是类型和其他工具)Apache Ant。一些 羚羊任务现在是该项目的一部分。
但不知何故,这些合并计划停滞不前,从未完成,Antcontrib似乎已经死了 - latest release 1.0b3 from 2006-11-02
无论如何,您可以将ant matches condition与antcontrib一起使用:
<project>
<!-- Import AntContrib -->
<taskdef resource="net/sf/antcontrib/antlib.xml"/>
<property name="foo" value="D:\FeiLong Soft\Essential\Development\repository\org\springframework\spring-beans"/>
<if>
<matches string="${foo}" pattern="^.+spring-beans$"/>
<then>
<echo>equals</echo>
</then>
<else>
<echo>not equals</echo>
</else>
</if>
</project>
答案 1 :(得分:0)
使用&#34; startwith&#34;我遇到了同样的问题。并没有找到解决方案。 我不明白&#34;包含&#34;工作,但&#34; startwith&#34; &#34; endwith&#34;别&#39;吨
<if>
<contains string="a sample string" substring="sample" />
<then>
<echo>match</echo>
</then>
<else>
<echo>not match</echo>
</else>
</if>