Ant Javac任務


Ant Javac任務用於編譯Java原始檔。 它掃描源和目標目錄以編譯原始檔,只在.class不存在或.class比Java檔案舊時才編譯。

如果Java原始檔位於任何包中,則原始檔應具有目錄層次結構。

1. Apache Ant Javac屬性

屬性 描述 必需
srcdir 源Java檔案
destdir 儲存類檔案的目標
includes 必須包含的檔案模式列表
includesfile 檔案的每一行都被視為包含模式
excludes 必須排除的檔案模式列表
excludesfile 檔案的每一行都被視為排除模式
classpath 要使用的類路徑
bootclasspath 引導類檔案的路徑
extdirs 已安裝擴充套件的路徑
encoding 編碼原始檔
nowarn 用於將-nowarn開關傳遞給編譯器
debug 在編譯期間偵錯檔案
debuglevel 設定偵錯檔案的級別
optimize 指示是否應使用優化編譯源
deprecation 與棄用資訊一起編譯
verbose 詢問編譯器是否有詳細輸出
depend 為支援它的編譯器啟用依賴關係跟蹤
includeAntRuntime 是否在類路徑中包含Ant執行時庫
fork 是否在外部使用JDK編譯器執行javac
executable javac可執行檔案的完整路徑
memoryInitialSize 設定初始記憶體大小
memoryMaximumSize 底層JVM的最大記憶體大小

2. Apache Ant Javac範例

以下程式碼編譯Java原始檔並將類檔案儲存到目標目錄中。

檔案:build.xml

<project name="java-ant project" default="compile">     
    <target name="compile">  
        <javac includeantruntime="false" srcdir="./src" destdir = "test"></javac>  
    </target>  
</project>

範例:將偵錯模式設定為true

此範例將編譯位於srcdir中的所有Java原始檔,並將.class儲存到destdir目錄中。 它將在偵錯模式下編譯Java原始碼,因為偵錯模式已開啟。

<project name="java-ant project" default="run">     
    <target name="run">  
        <javac srcdir="${src}" destdir="${build}"  
                classpath="xyz.jar" debug="on" source="1.4"/>  
    </target>  
</project>

範例:設定源級別和目標版本
此範例將編譯位於srcdir中的所有Java原始檔,並將.class儲存到destdir目錄中。 源級別為1.8.class檔案將在Jdk 1.8下執行。

<project name="java-ant project" default="run">     
    <target name="run">  
        <javac srcdir="${src}" destdir="${build}"  
                classpath="xyz.jar" fork="true" source="1.8" target="1.8"/>  
    </target>  
</project>