- Apache ANT 任務教程
- ANT 任務 - 首頁
- ANT 任務 - 簡介
- ANT 任務 - 環境設定
- Apache ANT 任務示例
- ANT 任務 - BaseName
- ANT 任務 - GZip
- ANT 任務 - GUnzip
- ANT 任務 - Chmod
- ANT 任務 - Concat
- ANT 任務 - Condition
- ANT 任務 - Copy
- ANT 任務 - Delete
- ANT 任務 - EAR
- ANT 任務 - Fail
- ANT 任務 - Import
- ANT 任務 - Java
- ANT 任務 - Javac
- ANT 任務 - Length
- ANT 任務 - LoadFile
- ANT 任務 - MkDir
- ANT 任務 - Move
- ANT 任務 - Sleep
- ANT 任務 - WAR
- ANT 任務 - Zip
- ANT 任務 - JAR
- Apache ANT 任務有用資源
- Ant 任務 - 快速指南
- Ant 任務 - 有用資源
- Ant 任務 - 討論
Apache Ant 任務 - Javac
描述
Javac 任務編譯 Java 原始碼樹。原始碼和目標目錄將被遞迴掃描以查詢要編譯的 Java 原始檔。只有沒有相應 .class 檔案或 .class 檔案比 .java 檔案舊的 .java 檔案才會被編譯。
屬性
| 序號 | 屬性 & 描述 |
|---|---|
| 1 | Srcdir Java 檔案的位置。 |
| 2 | Destdir 儲存類檔案的位置。 |
| 3 | Includes 必須包含的檔案模式的逗號或空格分隔列表。 |
| 4 | Includesfile 檔名稱。此檔案的每一行都被視為一個包含模式。 |
| 5 | Excludes 必須排除的檔案模式的逗號或空格分隔列表。 |
| 6 | Excludesfile 檔名稱。此檔案的每一行都被視為一個排除模式。 |
| 7 | Defaultexcludes 指示是否應使用預設排除項 (yes|no)。 |
| 8 | Classpath 要使用的類路徑。 |
| 9 | Sourcepath 要使用的源路徑。要抑制 sourcepath 開關,請使用 sourcepath=""。 |
| 10 | Bootclasspath 引導類檔案的位置。 |
| 11 | Classpathref 要使用的類路徑,作為對在其他地方定義的路徑的引用。 |
| 12 | Sourcepathref 要使用的源路徑,作為對在其他地方定義的路徑的引用。 |
| 13 | Bootclasspathref 要使用的 bootstrapclasspath,作為對在其他地方定義的路徑的引用。 |
| 14 | Extdirs 已安裝擴充套件程式的位置。 |
| 15 | Encoding 原始檔的編碼。 |
| 16 | NSowarn 指示是否應將 -nowarn 開關傳遞給編譯器。 |
| 17 | Debug 指示是否應使用除錯資訊編譯原始碼。如果設定為 off,則 -g:none 將傳遞到支援它的編譯器的命令列(對於其他編譯器,將不使用命令列引數)。如果設定為 true,則 debuglevel 屬性的值將確定命令列引數。 |
| 18 | Debuglevel 要附加到 -g 命令列開關的關鍵字列表。有效值為 none 或以下關鍵字的逗號分隔列表:lines、vars 和 source。 |
| 19 | Optimize 指示是否應使用最佳化編譯原始碼。請注意,自 JDK 1.3 以來,Sun 的 javac 忽略了此標誌(因為編譯時最佳化是不必要的)。 |
| 20 | Deprecation 指示是否應使用棄用資訊編譯原始碼。 |
| 21 | Verbose 要求編譯器提供詳細輸出。 |
| 22 | Depend 為支援此功能的編譯器(jikes 和 classic)啟用依賴項跟蹤。 |
| 23 | includeAntRuntime 是否在類路徑中包含 Ant 執行時庫。通常最好將其設定為 false,以便指令碼的行為不受其執行環境的影響。 |
| 24 | includeJavaRuntime 是否在類路徑中包含正在執行的 JVM 的預設執行時庫。 |
| 25 | Fork 是否使用 JDK 編譯器在外部執行 javac。 |
| 26 | Executable 如果 fork 為 yes,則要使用的 javac 可執行檔案的完整路徑。 |
| 27 | memoryInitialSize 如果 javac 在外部執行,則底層 JVM 的記憶體初始大小。(示例:83886080、81920k 或 80m) |
| 28 | memoryMaximumSize 如果 javac 在外部執行,則底層 JVM 的記憶體最大大小;否則忽略。(示例:83886080、81920k 或 80m) |
| 29 | Failonerror 指示編譯錯誤是否會使構建失敗。 |
| 30 | Errorproperty 如果編譯失敗,要設定為 true 的屬性。 |
| 31 | Source 編譯器接受的 Java 語言特性,由 -source 命令列開關指定。有效特性版本為 1.3、1.4、1.5 或 5 等。 |
| 32 | Target 為特定 JVM 版本生成類檔案(交叉編譯)。 |
| 33 | Compiler 要使用的編譯器實現。 |
| 34 | listfiles 指示是否將列出要編譯的原始檔。 |
| 35 | TempDir Ant 應該將臨時檔案放在哪裡。僅當任務被分叉且命令列引數長度超過 4 kB 時才使用此選項。 |
| 36 | updatedProperty 如果編譯已完成且成功,則要設定為 true 的屬性。 |
| 37 | includeDestClasses 此屬性控制是否在傳遞給編譯器的類路徑中包含目標類目錄。如果設定為 true(預設值),則先前編譯的類位於編譯器的類路徑中。 |
| 38 | createMissingPackageInfoClass package-info.java 檔案中的一些包級註釋不會建立任何 package-info.class 檔案,因此 Ant 會每次都重新編譯同一個檔案。 |
| 39 | MSodulepath 指定在何處查詢應用程式模組。模組目錄、模組檔案或展開模組的列表。 |
| 40 | Modulepathref 要使用的 modulepath,作為對在其他地方定義的路徑的引用。 |
| 41 | Modulesourcepath 指定在何處查詢用於多模組編譯的輸入原始檔。 |
| 42 | Modulesourcepathref 要使用的 modulesourcepath,作為對在其他地方定義的路徑的引用。 |
| 43 | Upgrademodulepath 指定替換執行時映像中可升級模組的模組的位置。 |
| 44 | Upgrademodulepathref 要使用的 upgrademodulepath,作為對在其他地方定義的路徑的引用。 |
| 45 | NSativeheaderdir 指定在何處放置生成的本機標頭檔案。 |
| 46 | Release 指定 --release 開關的值。當設定並在 JDK 9+ 上執行時,source 和 target 屬性以及 bootclasspath 將被忽略。 |
示例
用法
在 src 目錄中建立 TestMessage.java,內容如下
public class TestMessage {
public static void main(String[] args) {
System.out.println("Welcome to tutorialspoint.com");
}
}
建立 build.xml,內容如下
<?xml version="1.0"?>
<project name="TutorialPoint" default="info">
<target name="info">
<javac srcdir="src" destdir="build"/>
</target>
</project>
以上指令碼將執行一個 java 類檔案以列印輸出。
輸出
在上述構建檔案上執行 Ant 會產生以下輸出:
F:\tutorialspoint\ant>ant Buildfile: F:\tutorialspoint\ant\build.xml info: [javac] F:\tutorialspoint\ant\build.xml:4: warning: 'includeantruntime' was not set, defaulting to build.sysclasspath=last; set to false for repeatable builds [javac] Compiling 1 source file to F:\tutorialspoint\ant\build BUILD SUCCESSFUL Total time: 0 seconds