位置:首頁 > 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文件的名稱。