Ant 简明教程

Ant - Using Token Filter

Ant 过滤器允许为当前项目设置一个标记过滤器。一个标记会用 @ 符号分隔,并且可以用属性文件读取。

Steps

  1. Step 1 − 使用 @@ 定义一个标记。

This is a sample text written in @year@.
  1. Step 2 − 设置过滤器。

<filter token="year" value="2021"/>
  1. Step 3 − 使用过滤器。所有任务都会将 @year@ 的出现替换为 2021。

<copy todir="${dest.dir}" filtering="true">
   <fileset dir="${src.dir}"/>
</copy>

Filter Task Properties

以下是关键属性 −

Sr.No

Attribute & Description

1

token 不带有分隔符字符 (@) 的标记字符串

2

value 当文件被复制时,替换标记的字符串。

3

filtersfile 必须从中读取过滤器的文件。此文件必须格式化为属性文件。

为了让 Filter 任务正常工作,必须提供标记和值或过滤器文件。

Example

使用以下内容创建一个 src 文件夹和 text1.txt 文件 −

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>

Output

在上述构建文件上运行 Ant 会生成以下输出:

F:\tutorialspoint\ant>ant
Buildfile: F:\tutorialspoint\ant\build.xml

copy:
   [copy] Copying 1 file to F:\tutorialspoint\ant\build

BUILD SUCCESSFUL
Total time: 1 second

F:\tutorialspoint\ant>

查看复制到 build 文件夹的文件的内容。

This is a sample text written in 2021.