Ant - 使用令牌过滤器

  • 简述

    Ant Filter 允许为当前项目设置一个标记过滤器。令牌由 @ 符号分隔,也可以使用属性文件读取。
  • 步骤

    • 步骤 1− 使用@@ 定义标记。
    
    
    This is a sample text written in @year@.
    
    
    • 步骤 2− 设置过滤器。
    
    
    <filter token="year" value="2021"/>
    
    
    • 步骤 3− 使用过滤器。所有任务都将用 2021 替换 @year@ 的出现。
    
    
    <copy todir="${dest.dir}" filtering="true">
    
       <fileset dir="${src.dir}"/>
    
    </copy>
    
    
  • 筛选任务属性

    以下是关键属性 -
    序号 属性和描述
    1
    token
    没有分隔字符 (@) 的标记字符串
    2
    value
    复制文件时应该用来替换令牌的字符串。
    3
    filtersfile
    必须从中读取过滤器的文件。此文件的格式必须为属性文件。
    要提供的令牌和值或过滤器文件到过滤器任务才能正常工作。
  • 例子

    使用具有以下内容的 text1.txt 文件创建一个 src 文件夹 -
    
    
    This is a sample text written in @year@.
    
    
    使用以下内容创建 build.xml -
    
    
    <?xml version="1.0"?>
    
    <project name="sample" basedir="." default="copy">
    
       <property name="src.dir" value="src"/>
    
       <property name="dest.dir" value="build"/>
    
       <target name="copy">
    
          <filter token="year" value="2021"/>
    
          <copy todir="${dest.dir}" filtering="true">
    
             <fileset dir="${src.dir}"/>
    
          </copy>
    
       </target>
    
    </project>
    
    
  • 输出

    在上述构建文件上运行 Ant 会产生以下输出 -
    
    
    F:\jc2182\ant>ant
    
    Buildfile: F:\jc2182\ant\build.xml
    
    
    
    copy:
    
       [copy] Copying 1 file to F:\jc2182\ant\build
    
    
    
    BUILD SUCCESSFUL
    
    Total time: 1 second
    
    
    
    F:\jc2182\ant>
    
    
    验证复制文件的内容以构建文件夹。
    
    
    This is a sample text written in 2021.