Ant Javac任務(wù)用于編譯Java源文件。 它掃描源和目標(biāo)目錄以編譯源文件,只在.class
不存在或.class
比Java文件舊時(shí)才編譯。
如果Java源文件位于任何包中,則源文件應(yīng)具有目錄層次結(jié)構(gòu)。
屬性 | 描述 | 必需 |
---|---|---|
srcdir |
源Java文件 | 是 |
destdir |
存儲(chǔ)類(lèi)文件的目標(biāo) | 否 |
includes |
必須包含的文件模式列表 | 否 |
includesfile |
文件的每一行都被視為包含模式 | 否 |
excludes |
必須排除的文件模式列表 | 否 |
excludesfile |
文件的每一行都被視為排除模式 | 否 |
classpath |
要使用的類(lèi)路徑 | 否 |
bootclasspath |
引導(dǎo)類(lèi)文件的路徑 | 否 |
extdirs |
已安裝擴(kuò)展的路徑 | 否 |
encoding |
編碼源文件 | 否 |
nowarn |
用于將-nowarn 開(kāi)關(guān)傳遞給編譯器 |
否 |
debug |
在編譯期間調(diào)試文件 | 否 |
debuglevel |
設(shè)置調(diào)試文件的級(jí)別 | 否 |
optimize |
指示是否應(yīng)使用優(yōu)化編譯源 | 否 |
deprecation |
與棄用信息一起編譯 | 否 |
verbose |
詢問(wèn)編譯器是否有詳細(xì)輸出 | 否 |
depend |
為支持它的編譯器啟用依賴關(guān)系跟蹤 | 否 |
includeAntRuntime |
是否在類(lèi)路徑中包含Ant運(yùn)行時(shí)庫(kù) | 否 |
fork |
是否在外部使用JDK編譯器執(zhí)行javac | 否 |
executable |
javac可執(zhí)行文件的完整路徑 | 否 |
memoryInitialSize |
設(shè)置初始內(nèi)存大小 | 否 |
memoryMaximumSize |
底層JVM的最大內(nèi)存大小 | 否 |
以下代碼編譯Java源文件并將類(lèi)文件存儲(chǔ)到目標(biāo)目錄中。
文件:build.xml
<project name="java-ant project" default="compile">
<target name="compile">
<javac includeantruntime="false" srcdir="./src" destdir = "test"></javac>
</target>
</project>
示例:將調(diào)試模式設(shè)置為true
此示例將編譯位于srcdir
中的所有Java源文件,并將.class
存儲(chǔ)到destdir
目錄中。 它將在調(diào)試模式下編譯Java源代碼,因?yàn)檎{(diào)試模式已打開(kāi)。
<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>
示例:設(shè)置源級(jí)別和目標(biāo)版本
此示例將編譯位于srcdir
中的所有Java源文件,并將.class
存儲(chǔ)到destdir
目錄中。 源級(jí)別為1.8
,.class
文件將在Jdk 1.8下運(yùn)行。
<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>