
- Apache ANT 教程
- ANT - 首頁
- ANT - 簡介
- ANT - 環境設定
- ANT - 構建檔案
- ANT - 屬性任務
- ANT - 屬性檔案
- ANT - 資料型別
- ANT - 構建專案
- ANT - 構建文件
- ANT - 建立 JAR 檔案
- ANT - 建立 WAR 檔案
- ANT - 打包應用程式
- ANT - 部署應用程式
- ANT - 執行 Java 程式碼
- ANT - Eclipse 整合
- ANT - JUnit 整合
- ANT - 擴充套件 Ant
- Apache ANT 有用示例
- ANT - 使用 Token
- ANT - 使用命令列引數
- ANT - 使用 If Else 引數
- ANT - 自定義元件
- ANT - 監聽器和記錄器
- Apache ANT 資源
- ANT - 快速指南
- ANT - 有用資源
- ANT - 討論
Ant - 資料型別
Ant 提供了許多預定義的資料型別。不要將“資料型別”一詞與程式語言中可用的資料型別混淆。相反,可以將它們視為已內置於產品中的一組服務。
Ant 中的資料型別
Apache Ant 提供以下資料型別。
檔案集 (Fileset)
檔案集資料型別表示檔案集合。它用作過濾器,用於包含或排除與特定模式匹配的檔案。
例如,請參考以下程式碼。此處,src 屬性指向專案的原始檔夾。
<fileset dir="${src}" casesensitive="yes"> <include name="**/*.java"/> <exclude name="**/*Stub*"/> </fileset>
檔案集選擇原始檔夾中的所有 .java 檔案,但包含“Stub”一詞的檔案除外。區分大小寫的過濾器應用於檔案集,這意味著名為 Samplestub.java 的檔案不會從檔案集中排除。
模式集 (Pattern set)
模式集是一種模式,允許根據某些模式輕鬆過濾檔案或資料夾。可以使用以下元字元建立模式:-
? - 僅匹配一個字元。
* - 匹配零個或多個字元。
** - 遞迴匹配零個或多個目錄。
以下示例描述了模式集的使用。
<patternset id="java.files.without.stubs"> <include name="src/**/*.java"/> <exclude name="src/**/*Stub*"/> </patternset>
然後可以將模式集與檔案集一起重用,如下所示:-
<fileset dir="${src}" casesensitive="yes"> <patternset refid="java.files.without.stubs"/> </fileset>
檔案列表 (File list)
檔案列表資料型別類似於檔案集,但存在以下區別:-
它包含顯式命名的檔案列表,並且不支援萬用字元。
此資料型別可以應用於現有檔案或不存在的檔案。
讓我們看看檔案列表資料型別的以下示例。此處,屬性webapp.src.folder指向專案的 Web 應用程式原始檔夾。
<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>
過濾器集 (Filter set)
透過將過濾器集資料型別與複製任務一起使用,您可以將所有與模式匹配的檔案中的某些文字替換為替換值。
一個常見的示例是將版本號附加到發行說明檔案,如以下程式碼所示。
<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)
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 檔案的名稱。