javac
功能: 它编译两种java文件 1 ,没有被编译过的 2,以前编译的 (have no corresponding .class
file or where the class file is older than the .java
file will be compiled),可以使用includes, includesfile
, excludes
, and excludesfile
等来提高匹配度。使用javac的compiler属性可以设置不同的编译器。
属性:
1. srcdir:java源文件的文件夹,除非用了嵌套的<src>标签
2. destdir:用于存放编译后class文件的文件夹,默认是当前文件夹。
3. includes:必须包括的文件模式的列表,以逗号或空格分隔。如果忽略,将包括所有文件。
4. includesfile:指定一个包含很多include的文件,同样可以用通配符来指定。
5. excludes:必须排除的文件模式的列表,以逗号或空格分隔。如果忽略,将不排除任何文件。
6. excludesfile: 指定一个包含很多exclude的文件,同样可以用通配符来指定。
7. classpath: class中导入需要使用的jar包。
8. sourcepath: 指定源资源文件夹。默认指向srcdir 。
9. bootclasspath: 编译过程中需要导入class文件会被导入。(不太明白)
10. classpathref: class中需要使用的jar包, 以引用的形式给出。
11. sourcepathref:资源文件夹,同上以引用得形式。
12. bootclasspathref: 编译过程中需要引用的class文件夹目录。
13. extdirs:扩展文件的路径。
14. encoding:编码格式
15. nowarn:为真时将忽略所有警告信息
16. debug: 是否产生调试信息,默认off。
17. debuglevel: 相当于命令行中要追加到 -g 命令行开关后面的关键字列表。这将会被除 modern 和 classic(ver >=
1.2) 以外的所有实现忽略。合法值是 none 或(lines,vars ,source:只生成一部分调试信息)。
如果不指定 debuglevel,则默认情况下,将不会在 -g 的后面追加任何关键字。如果不打开 debug,
该特性将被忽略。
18. optimize: 指出是否应该用优化方式编译源代码,默认为 off。
19. deprecation:假如为真,将会给出不建议使用的API,默认值false。
20. target: 根据特定的vm版本生成class文件
21. verbose:要求编译器输出详细信息,默认no。
22. depend: 当运行这个任务时,首先按照顺序依次执行完依赖的任务,如果出错将停止执行。
23. includeAntRuntime:指出是否应在类路径中包括 Ant 运行时程序库,默认为 yes。
24. includeJavaRuntime: 指出是否应在类路径中包括来自执行 VM 的默认运行时程序库,默认为 no。
25. fork:是否执行外部的javac,默认no。
26. executable:当fork="yes"时,所执行的javac的完整路径。默认的是当前跑ant的java版本,fork="no"就忽略
27. memoryInitialSize:当是外部javac的时候,获得基本vm的初始内存大小。否则忽略。
28. memoryMaximumSize: 同上只不过是获得最大的内存大小。
29. failonerror: Ant 任务在出现编译错误的情况下是否继续执行,默认值为 True,这意味着即使遇到错误
也要继续执行。
30. errorProperty:当编译失败的时候要设置的属性。
31. source:命令行-source的开关。 假如设置为1.4,将激活断言。默认是1.3。默认不使用-source。
Note that the default value depends on the JVM that is running Ant. We highly
recommend to always specify this attribute.
32. compiler:设置用来选择编译器,如果不设置,将使用默认的编译器。
33. listfiles:是否显示被编译文件列表,默认是no。
34. tempdir:指定存放临时文件的地方,这个只在设置了fork和命令行超过参数长度超过4k的时候使用。
(default is java.io.tmpdir.)
35. updatedProperty:编译发生并成功要设置的属性。
36. includeDestClasses:是否包含目标class文件夹包含到classpath。默认是true。意思是之前生成的class文
件自动加到classpath。
实例:
1. 将src下的java文件编译到build下去,classpath中包括xyz.jar包,并显示调试信息,source是1.4,激活断言(assert)
<javac srcdir="${src}"
destdir="${build}"
classpath="xyz.jar"
debug="on"
source="1.4"
/>
2. 将src下的java文件编译到build下去,使用外部的javac。source的等级是1.2,并且class文件是根据jdk1.2+版本生成
<javac srcdir="${src}"
destdir="${build}"
fork="true"
source="1.2"
target="1.2"
/>
3. 此例同上,只是使用fork指定executable的javac名称为 java$javac.exe
<javac srcdir="${src}"
destdir="${build}"
fork="java$$javac.exe"
source="1.5"
/>
4. 将src下的java文件编译到build下去,但是只包含mypackage/p1/和mypackage/p2/下的java文件,并排除mypackage/p1/testpackage/下的文件,
<javac srcdir="${src}"
destdir="${build}"
includes="mypackage/p1/**,mypackage/p2/**"
excludes="mypackage/p1/testpackage/**"
classpath="xyz.jar"
debug="on"
/>
5. 指定使用特定的jdk来编译
<javac srcdir="${src}"
destdir="${build}"
fork="yes"
executable="/opt/java/jdk1.1/bin/javac"
compiler="javac1.1"
/>
6. 使用指定的CompilerAdapter
<javac srcdir="${src.dir}"
destdir="${classes.dir}"
compiler="org.example.MyAdapter"/>
or
<componentdef classname="org.example.MyAdapter"
name="myadapter"/>
<javac srcdir="${src.dir}"
destdir="${classes.dir}">
<myadapter/>
</javac>
分享到:
相关推荐
例如,元素是整个构建的容器,定义了具体的构建任务,<task>则引用了Ant提供的或自定义的任务。 3. **Ant的基本任务**: - `<javac>`:编译Java源代码。 - `<jar>`:打包编译后的类文件为JAR文件。 - `<copy>`:...
- **任务(Tasks)**:Ant中的任务是执行特定操作的单元,如`javac`用于编译Java源码,`jar`用于创建JAR文件等。 - **目标(Targets)**:目标是一系列任务的集合,可以按顺序执行或有依赖关系。 2. **Ant与Corba...
3. **任务(Task)**:Ant的核心是任务,如`javac`用于编译Java源代码,`jar`用于创建JAR文件,`copy`用于文件复制等。1.9.2版本可能包含了一些新任务或对原有任务的改进。 4. **属性(Property)**:在Ant中,可以...
标题中的"ant-deb-task.jar.zip"是一个压缩文件,它包含了一个名为"ant-deb-task.jar"的Java可执行文件(JAR包)以及一个"ant.license.txt"的文本文件,很可能包含了Apache Ant项目的授权信息。Apache Ant是Java开发...
- **任务(Task)**:Ant的任务是构建过程中执行的具体动作,例如`javac`用于编译Java源代码,`jar`用于打包类文件为JAR,`copy`用于复制文件等。 - **属性(Properties)**:Ant支持定义和使用属性,它们可以用来存储...
Apache Ant 是一个广泛使用的构建工具,它主要用于Java项目,但也可以用于其他语言的构建过程。在"apache-ant-1.7.0-1 src"这个压缩包中,你将获得Ant 1.7.0版本的源代码,这对于开发者来说是极其宝贵的资源,可以...
- **任务(Task)**:Ant通过任务来执行特定的操作,如`javac`用于编译Java源代码,`copy`用于复制文件,`jar`用于创建JAR文件等。 - **属性(Property)**:属性用于存储可配置的值,可以在build.xml文件中或...
Apache Ant 是一个广泛使用的Java构建工具,它遵循“软件构建应该描述为一组任务,而这些任务可以被驱动和执行”的原则。标题中的"apache-ant-1.10.1-bin.tar.gz"指的是Apache Ant的1.10.1版本的二进制发行版,以....
3. **Ant任务**:Ant通过预定义的任务来执行各种操作,如`javac`用于编译Java源代码,`jar`用于创建JAR文件,`copy`用于复制文件,`delete`用于删除文件或目录,`mkdir`用于创建目录等。用户还可以自定义任务来扩展...
- **核心任务**:Ant自带的任务,如javac(编译Java源码)、copy(复制文件)等。 - **可选任务**:来自第三方库,需要额外的JAR包支持,如Maven插件的任务。 - **用户自定义任务**:开发者根据需求定制的任务,...
Apache Ant的核心概念是“项目(Project)”和“任务(Task)”。项目是一个包含了构建过程中所有元素的容器,而任务则是完成特定动作的单元,比如创建JAR文件或者运行JUnit测试。在Ant中,这些配置都写在名为...
开发者可以定义目标(target)和任务(task),目标之间可以有依赖关系,这样Ant会根据这些依赖关系自动执行相应的步骤。 在 "apache-ant-1.9.1" 这个解压后的目录中,通常包括以下内容: 1. `bin` 目录:包含可...
2. **Task**:任务是Ant构建过程中的最小执行单元,如编译源代码(javac任务)、复制文件(copy任务)或运行测试(junit任务)。Ant内建了许多预定义的任务,同时也可以通过扩展自定义任务。 3. **Property**:属性...
Ant的构建文件build.xml由多个元素构成,主要包括project、target、task等。project元素是顶级元素,定义了整个构建的范围和属性;target元素表示一个具体的构建目标,可以是编译、测试或打包等操作;task元素则...
任务是Ant的基本执行单元,例如`javac`用于编译Java源代码,`jar`用于创建JAR文件,`copy`用于复制文件,等等。 Ant还支持属性(`<property>`),允许你在构建文件中设置变量,以实现参数化构建。此外,Ant提供了...
- **任务(Task)**:Ant中的基本执行单元,如`javac`用于编译Java源码,`jar`用于创建JAR文件等。 - **目标(Target)**:一系列相关任务的集合,通常按特定顺序执行。 - **属性(Property)**:用于存储和传递...
`<target>`定义了执行的步骤,而`<task>`则执行特定的动作,如`<javac>`用于编译Java源代码,`<jar>`用于打包JAR文件。 2. **依赖关系**:Ant允许你定义目标间的依赖关系。这样,当一个目标被调用时,其依赖的目标...
Ant的核心概念是任务(Task),例如`javac`任务用于编译Java源代码,`jar`任务用于创建JAR文件。Ant的特点是高度可配置,允许开发者自定义任务和工作流程,适合于复杂或非标准的构建需求。 Maven,另一方面,也是由...
3. **可扩展性**:Ant提供了许多内置的任务,如`javac`用于编译Java源代码,`jar`用于创建JAR文件等。此外,它还支持通过插件机制添加自定义任务,满足特定需求。 4. **依赖管理**:Ant可以管理项目依赖,自动下载...
1. **构建过程**:Ant使用任务(task)来执行具体的操作,如`javac`任务用于编译Java源代码,`jar`任务用于创建JAR文件,`copy`任务用于复制文件,`delete`任务用于删除文件或目录。这些任务可以通过配置属性参数来...