- 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