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
最佳答案
检查来自 antcontrib(版本 1.0b2 或 1.0b3)的源时,尤其是 net/sf/antcontrib/antcontrib.properties
和 ../antlib.xml
你会看到,没有 startsWith
或 endsWith
条件,尽管它在 antcontrib manual 中提到。
这两个条件源自 Antelope project ,它提供了一个用于运行 ant 和多个 ant 任务的 UI。
多年前就有计划将 Antelope 与 AntContrib 合并,请参阅 Antelope Tasks Merging with AntContrib 和 Antelope 项目站点:
但不知何故,那些合并计划停滞不前,从未正确完成,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>
或 Antelope ant tasks 。
关于ant - 使用 ant-contrib,如何使用 "endsWith"?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13670197/