首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

Ant中过滤器的施用

2012-09-28 
Ant中过滤器的使用Ant中过滤器的使用?xml version1.0?project nameaccess defaultshow basedi

Ant中过滤器的使用
Ant中过滤器的使用

<?xml version="1.0"?>

<project name="access" default="show" basedir=".">
    <!--
        将一组需要过滤的值写入一个过滤文件,过滤文件的
        格式与一般的属性文件相同,如下:
        month=12
        year=2008
    -->
    <filter filtersfile="filter.properties"/>

    <!--
        定义一个过滤器
    -->
    <filter token="time" value="14时7分"/>

    <target name="show">
        <mkdir dir="dest"/>
        <!-- 在copy中添加filtering属性启动过滤器 -->
        <copy todir="dest" filtering="true">
            <fileset dir="src"/>
        </copy>
    </target>
</project>
该过滤器的作用就是将src下面的文件复制到dest目录下面.而且将src下面,凡是包含@year@,@month@,@time@的字符进行替换(是指src文件夹下面文件中的内容,不是指文件名)。另外还可以使用filterset标签,它也可以引用外部filter文件,也可以在内容指定一组filter,如下:



与单纯地使用filter相比,filterset的功能要强大一点,使用得被替换的字符不仅限制于以@开始和结束的变量了,你可以自己定义(使用begintoken和endtoken)。

<copy file="${build.dir}/version.txt" toFile="${dist.dir}/version.txt">
  <filterset>
    <filter token="DATE" value="${TODAY}"/>
  </filterset>
</copy>

<!-- 自定义变量的格式 -->
<copy file="${build.dir}/version.txt" toFile="${dist.dir}/version.txt">
  <filterset begintoken="%" endtoken="*">
    <filter token="DATE" value="${TODAY}"/>
  </filterset>
</copy>

<!-- 使用外部的过滤定义文件 -->
<copy toDir="${dist.dir}/docs">
  <fileset dir="${build.dir}/docs">
    <include name="**/*.html">
  </fileset>
  <filterset begintoken="%" endtoken="*">
    <filtersfile file="${user.dir}/dist.properties"/>
  </filterset>
</copy>

<!-- 使用引用方式,重复利用过滤集 -->
<filterset id="myFilterSet" begintoken="%" endtoken="*">
  <filter token="DATE" value="${TODAY}"/>
</filterset>

<copy file="${build.dir}/version.txt" toFile="${dist.dir}/version.txt">
  <filterset refid="myFilterSet"/>
</copy>


http://www.cnblogs.com/ungshow/archive/2008/12/30/1365249.html

热点排行