ClassFileSet

Classfileset 是一種特殊類型的檔案集,給定一組「根」類別後,它將包含根類別所依賴的所有類別檔案。這通常用於為特定應用程式建立一個包含所有必要類別的 jar 檔。

classfilesets 通常透過參照使用。它們會使用 id 值宣告,然後在預期為一般檔案集的地方使用此值作為參照。

此類型需要 BCEL 函式庫

屬性

除了 標準檔案集 支援的屬性外,類別檔案集還支援下列屬性

屬性 說明 必要
rootclass 單一根類別名稱

巢狀元素

Root

當需要多個根類別時,可以使用多個巢狀 <root> 元素

屬性 說明 必要
classname 根類別的完整限定名稱

RootFileSet

根檔案集用於從檔案集中新增一組根類別。在此情況下,檔案集中的項目預期為 Java 類別檔案。Java 類別的名稱由檔案集中類別檔案的相對位置決定。因此,檔案 org/apache/tools/ant/Project.class 對應到 Java 類別 org.apache.tools.ant.Project

範例

<classfileset id="reqdClasses" dir="${classes.dir}">
  <root classname="org.apache.tools.ant.Project"/>
</classfileset>

此範例建立一個檔案集,其中包含 org.apache.tools.ant.Project 類別所依賴的所有類別檔案。然後可以使用此檔案集建立一個 jar 檔。

<jar destfile="minimal.jar">
  <fileset refid="reqdClasses"/>
</jar>
<classfileset id="reqdClasses" dir="${classes.dir}">
  <rootfileset dir="${classes.dir}" includes="org/apache/tools/ant/Project*.class"/>
</classfileset>

此範例使用 org.apache.tools.ant 套件中所有名稱以 Project 開頭的類別來建構 classfileset。