zoukankan      html  css  js  c++  java
  • 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>

  • 相关阅读:
    自己遇到的冲突及解决方案
    怎么解决代码冲突及切换分支
    程序员修养
    代码回退
    gitlab两种连接方式:ssh和http配置介绍
    gitlab创建项目及分支
    github,gitlab的区别
    代码托管有什么用
    新手搭建云服务器详细过程
    UNP学习笔记(第十一章 名字与地址转换)
  • 原文地址:https://www.cnblogs.com/ungshow/p/1365249.html
Copyright © 2011-2022 走看看