- Apache ANT 教程
- ANT - 主页
- ANT - 简介
- ANT - 环境设置
- ANT - 构建文件
- ANT - Property 任务
- ANT - 属性文件
- ANT - 数据类型
- ANT - 构建项目
- ANT - 构建文档
- ANT - 创建 JAR 文件
- ANT - 创建 WAR 文件
- ANT - 打包应用程序
- ANT - 部署应用程序
- ANT - 执行 Java 代码
- ANT - Eclipse 集成
- ANT - JUnit 集成
- ANT - 扩展 Ant
- Apache ANT 实际示例
- ANT - 使用令牌
- ANT - 使用命令行参数
- ANT - 使用 if else 参数
- ANT - 自定义组件
- ANT - 侦听器和记录器
- Apache ANT 资源
- ANT - 快速指南
- ANT - 有用资源
- ANT - 讨论
Ant - 自定义组件
Ant 允许轻松地创建和使用自定义组件。可以通过实现 Condition、Selector、Filter 等接口来创建自定义组件。一旦类准备好,便可以使用typedef在 build.xml 中创建组件,供任何目标使用。
句法
首先定义一个类作为 Ant 自定义组件,例如 TextSelector.java,然后在 build.xml 中定义一个选择器。
<typedef name="text-selector" classname="TextSelector" classpath="."/>
然后在目标中使用该组件。
<target name="copy">
<copy todir="${dest.dir}" filtering="true">
<fileset dir="${src.dir}">
<text-selector/>
</fileset>
</copy>
</target>
示例
使用以下内容创建 TextSelector.java,并将其放在与 build.xml 相同的位置 −
import java.io.File;
import org.apache.tools.ant.types.selectors.FileSelector;
public class TextFilter implements FileSelector {
public boolean isSelected(File b, String filename, File f) {
return filename.toLowerCase().endsWith(".txt");
}
}
在 src 目录中创建 text1.txt 和 text2.java。目标是仅将 .txt 文件复制到构建目录。
使用以下内容创建 build.xml −
<?xml version="1.0"?>
<project name="sample" basedir="." default="copy">
<property name="src.dir" value="src"/>
<property name="dest.dir" value="build"/>
<typedef name="text-selector" classname="TextSelector" classpath="."/>
<target name="copy">
<copy todir="${dest.dir}" filtering="true">
<fileset dir="${src.dir}">
<text-selector/>
</fileset>
</copy>
</target>
</project>
输出
在上面的构建文件上运行 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: 0 seconds
现在仅复制 .txt 文件。
广告