位置:首页 > Java技术 > ANT > Ant数据类型

Ant数据类型

Ant提供了一些预定义的数据类型。不要混淆,也可在编程语言中的数据类型,而是考虑数据类型的设置被内置到产品中服务。

下面是一个由Apache Ant的提供的数据类型的列表

文件集合

该文件集的数据类型表示文件的集合。该文件集的数据类型通常是作为一个过滤器,以包括和排除匹配特定模式的文件。

例如:

<fileset dir="${src}" casesensitive="yes">
  <include name="**/*.java"/>
  <exclude name="**/*Stub*"/>
</fileset>

在上面的例子中的src属性指向项目的源文件夹。

在上面的例子中,文件集的选择,除了那些包含在其中单词“Stub”源文件夹中的所有java文件。在大小写敏感的过滤器应用到文件集这意味着名为Samplestub.java一个文件不会被排除在文件集

模式集

一个模式集是一个模式,可以非常方便地筛选基于某种模式的文件或文件夹。可以使用下面的元字符来创建模式。

  • ? - 只匹配一个字符
  • * - 匹配零个或多个字符
  • ** - 匹配零个或多个目录递归

下面的例子应该给一个模式集的用法的想法。

<patternset id="java.files.without.stubs">
  <include name="src/**/*.java"/>
  <exclude name="src/**/*Stub*"/>
</patternset>

patternset 可以用一个文件集重用如下:

<fileset dir="${src}" casesensitive="yes">
  <patternset refid="java.files.without.stubs"/>
 </fileset>

文件列表

在文件列表的数据类型类似设置,除了在文件列表中包含显式命名的文件列表,不支持通配符的文件

文件列表和文件组的数据类型之间的另一个主要区别是,在文件列表的数据类型可应用于可能会或可能还不存在的文件。

以下是文件列表的数据类型的一个例子

<filelist id="config.files" dir="${webapp.src.folder}">
  <file name="applicationConfig.xml"/>
  <file name="faces-config.xml"/>
  <file name="web.xml"/>
  <file name="portlet.xml"/>
</filelist>

在上面的例子中webapp.src.folder属性指向该项目的Web应用程序的源文件夹。

过滤器集

使用与复制任务筛选器集的数据类型,你可以匹配一个替代值的模式,所有的文件替换一定的文本。

一个常见的例子是附加版本号的发行说明文件,如下面的示例所示

<copy todir="${output.dir}">
  <fileset dir="${releasenotes.dir}" includes="**/*.txt"/>
  <filterset>
    <filter token="VERSION" value="${current.version}"/>
  </filterset>
</copy>

在上面的例子中output.dir属性指向项目的输出文件夹。

在上面的例子点releasenotes.dir属性的发行说明的项目文件夹中。

在上面的例子中current.version属性指向的项目的当前版本中的文件夹。

副本任务,顾名思义是用来从一个位置复制到另一个文件。

路径

path 数据类型通常用来代表一个类路径。在路径项用分号或冒号隔开。然而,这些字符会被正在运行的系统的路径分隔符替换一个运行时间。

最常见的类路径设置为项目中的jar文件和类的列表,如下面的例子:

<path id="build.classpath.jar">
  <pathelement path="${env.J2EE_HOME}/${j2ee.jar}"/>
  <fileset dir="lib">
      <include name="**/*.jar"/>
  </fileset>
</path>

在上面的例子中env.J2EE_HOME属性指向环境变量J2EE_HOME。

在上面的例子中的j2ee.jar属性指向在J2EE基础文件夹J2EE的jar文件的名称。