个性化阅读
专注于IT技术分析

apache ant类型

本文概述

Apache Ant提供了丰富的类型集,下面提供了其中的一些类型。我们可以使用它们来处理数据,文件,路径等,也可以用作服务。

类型描述
ClassFileSet它用于创建具有所有必需类的Jar。
DirSet它将目录分组。
FileList文件列表。
FileSet一组文件。
FileMapper它有助于映射源文件和目标文件。
FilterSet一组过滤器。
PatternSetID引用的一组模式。
SelectorsFileSet元素, 有助于选择元素
TarFileSet它是FileSet的一种特殊形式。
ZipFileSet一组zip文件。

类文件集

ClassFileSet是FileSet的一种特殊类型,它包括根类所依赖的所有类文件。它用于创建具有特定应用程序所有必需类的JAR。

通过ID值声明ClassFileSet,然后将其用作参考。

DirSet

DirSet是一组目录。它支持<patternset>及其嵌套元素<include>,<includesfile>,<exclude>,<excludefiles>。它具有以下提供的各种属性。

属性描述需要
dir它保存此DirSet的目录树的根
includes目录模式列表。没有
includesfile要包含的文件名。没有
excludes必须排除的目录模式列表。没有
excludesfile要排除的文件名。没有
casesensitive它用于指定是否应区分大小写。没有
follosymlinks它具有要遵循的符号链接。没有
erroronmissingdir它指定了基本目录不存在时将发生的情况。没有

Apache Ant DirSet示例

<dirset dir="${build.dir}">
  <include name="apps/**/classes"/>
  <exclude name="apps/**/*Test*"/>
</dirset>

本示例将在$ {build.dir}的apps子目录中找到的所有目录名称类分组,并排除名称中具有test的目录。

文件清单

FileList是文件列表(集合)。它可以与<concat>,<dependset>任务一起使用。 FileList对于指定可能存在或不存在的文件很有用。它具有下面给出的属性。

属性描述需要
dir它用于保存此列表的基本目录。
files文件名列表

FileList示例

<project name="filelist" default="filelist-run">
<target name = ?filelist-run?>
		<filelist id="files" dir="${files.src}" files="a.xml, b.xml"/>
	</target>
</project>

文件集

FileSet是来自单个根目录的一组文件。它根据Ant指定的模式集收集文件。 <include>和<exclude>元素称为模式集。模式集是文件匹配模式的集合。默认情况下,它们区分大小写,但可以通过设置casesensitive = false禁用它们。

文件集具有以下属性。

属性描述需要
dir它保存根目录FileSet。必须指定目录或文件。
file用于指定单文件文件集。必须指定目录或文件。
includes必须包括的文件模式列表。没有
includesfile文件名。没有
excludes必须排除的文件模式列表。没有
excludesfiles文件名模式。没有
casesensitive包含和排除模式都区分大小写。没有
followsymlinks应遵循符号链接。没有

让我们看一个示例,然后将文件从一个目录复制到另一个目录。

文件集示例

// build.xml

<project name="fileset" default="fileset-run">
	<target name="fileset-run">
		<copy todir="dir1">
			<fileset dir="dir2">
  				<include name ="*.java"/>
			</fileset>
		</copy>
	</target>
</project>

上面的代码会将所有Java文件从dir2复制到dir1。

文件映射器

有时在执行任务后,源文件和输出都不同,因此无法映射。 Apache Ant使用FileMapper映射源文件和创建的目标文件。 org.apache.tools.ant.util.FileNameMapper类和<mapper>元素的实例用于映射文件。

映射器具有以下属性。

属性描述需要
type指定内置实现之一。没有
classname通过类名称指定实现。正是其中之一。
classpath查找类名时要使用的类路径。没有
classpathrefApache Ant?用户手册没有
from给定实现的from属性。取决于实施
to给定实现的to属性。取决于实施

所有内置映射器均区分大小写。

映射器示例

<mapper type="glob" from="*.java" to="*.java.bak"/>
<globmapper from="*.java" to="*.java.bak"/>

过滤器集

FilterSet是一组过滤器,由两个主要操作(任务)复制和移动使用。它使用id和refid属性,id用于定义FilterSet,refid用于引用另一个FilterSet。

也可以将FilterSet嵌套到FilterSet中,以获得包含的过滤器的集合并集。

它具有以下提供的各种属性。

文件集属性

属性描述默认需要
begintoken它是一个标记标记开始的字符串。@没有
endtoken它是标记令牌结束的字符串。@没有
filtersfile它指定一个过滤文件。没有没有
recurse用于搜索更多令牌。真正没有
onmissingfiltersfile当指定了不存在的filtersfile时, 它指示行为。失败没有

在这里,我们将abc.txt文件从构建目录复制到dist目录,但希望将令牌@ DATE @替换为今天的日期。

FilterSet示例

<copy file="${build.dir}/abc.txt" toFile="${dist.dir}/xyz.txt">
  <filterset>
    <filter token="DATE" value="${TODAY}"/>
  </filterset>
</copy>
赞(0)
未经允许不得转载:srcmini » apache ant类型

评论 抢沙发

评论前必须登录!