`

Ant ---- javac task 使用

 
阅读更多

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>

分享到:
评论
1 楼 TheMatrix 2012-10-11  
MARK.

相关推荐

    apache-ant-1.9.9-bin.tar.gz 【适用于linux系统】

    例如,元素是整个构建的容器,定义了具体的构建任务,&lt;task&gt;则引用了Ant提供的或自定义的任务。 3. **Ant的基本任务**: - `&lt;javac&gt;`:编译Java源代码。 - `&lt;jar&gt;`:打包编译后的类文件为JAR文件。 - `&lt;copy&gt;`:...

    apache-ant-1.9.14.zip

    - **任务(Tasks)**:Ant中的任务是执行特定操作的单元,如`javac`用于编译Java源码,`jar`用于创建JAR文件等。 - **目标(Targets)**:目标是一系列任务的集合,可以按顺序执行或有依赖关系。 2. **Ant与Corba...

    apache-ant-1.9.2-src

    3. **任务(Task)**:Ant的核心是任务,如`javac`用于编译Java源代码,`jar`用于创建JAR文件,`copy`用于文件复制等。1.9.2版本可能包含了一些新任务或对原有任务的改进。 4. **属性(Property)**:在Ant中,可以...

    ant-deb-task.jar.zip

    标题中的"ant-deb-task.jar.zip"是一个压缩文件,它包含了一个名为"ant-deb-task.jar"的Java可执行文件(JAR包)以及一个"ant.license.txt"的文本文件,很可能包含了Apache Ant项目的授权信息。Apache Ant是Java开发...

    apache-ant-1.9.6

    - **任务(Task)**:Ant的任务是构建过程中执行的具体动作,例如`javac`用于编译Java源代码,`jar`用于打包类文件为JAR,`copy`用于复制文件等。 - **属性(Properties)**:Ant支持定义和使用属性,它们可以用来存储...

    apache-ant-1.7.0-1 src

    Apache Ant 是一个广泛使用的构建工具,它主要用于Java项目,但也可以用于其他语言的构建过程。在"apache-ant-1.7.0-1 src"这个压缩包中,你将获得Ant 1.7.0版本的源代码,这对于开发者来说是极其宝贵的资源,可以...

    apache-ant-1.7.1-bin.zip.rar

    - **任务(Task)**:Ant通过任务来执行特定的操作,如`javac`用于编译Java源代码,`copy`用于复制文件,`jar`用于创建JAR文件等。 - **属性(Property)**:属性用于存储可配置的值,可以在build.xml文件中或...

    apache-ant-1.10.1-bin.tar.gz

    Apache Ant 是一个广泛使用的Java构建工具,它遵循“软件构建应该描述为一组任务,而这些任务可以被驱动和执行”的原则。标题中的"apache-ant-1.10.1-bin.tar.gz"指的是Apache Ant的1.10.1版本的二进制发行版,以....

    apache-ant-1.9.6.rar

    3. **Ant任务**:Ant通过预定义的任务来执行各种操作,如`javac`用于编译Java源代码,`jar`用于创建JAR文件,`copy`用于复制文件,`delete`用于删除文件或目录,`mkdir`用于创建目录等。用户还可以自定义任务来扩展...

    ANT-build-xml文件详解

    - **核心任务**:Ant自带的任务,如javac(编译Java源码)、copy(复制文件)等。 - **可选任务**:来自第三方库,需要额外的JAR包支持,如Maven插件的任务。 - **用户自定义任务**:开发者根据需求定制的任务,...

    apache-ant-1.9.3-manual.zip

    Apache Ant的核心概念是“项目(Project)”和“任务(Task)”。项目是一个包含了构建过程中所有元素的容器,而任务则是完成特定动作的单元,比如创建JAR文件或者运行JUnit测试。在Ant中,这些配置都写在名为...

    apache-ant-1.9.1-bin.tar.gz

    开发者可以定义目标(target)和任务(task),目标之间可以有依赖关系,这样Ant会根据这些依赖关系自动执行相应的步骤。 在 "apache-ant-1.9.1" 这个解压后的目录中,通常包括以下内容: 1. `bin` 目录:包含可...

    apache-ant-1.8.0.rar

    2. **Task**:任务是Ant构建过程中的最小执行单元,如编译源代码(javac任务)、复制文件(copy任务)或运行测试(junit任务)。Ant内建了许多预定义的任务,同时也可以通过扩展自定义任务。 3. **Property**:属性...

    apache-ant-1.8.4.zip

    Ant的构建文件build.xml由多个元素构成,主要包括project、target、task等。project元素是顶级元素,定义了整个构建的范围和属性;target元素表示一个具体的构建目标,可以是编译、测试或打包等操作;task元素则...

    apache-ant-1.10.0-bin.zip

    任务是Ant的基本执行单元,例如`javac`用于编译Java源代码,`jar`用于创建JAR文件,`copy`用于复制文件,等等。 Ant还支持属性(`&lt;property&gt;`),允许你在构建文件中设置变量,以实现参数化构建。此外,Ant提供了...

    ant-1.5.1.jar.zip

    - **任务(Task)**:Ant中的基本执行单元,如`javac`用于编译Java源码,`jar`用于创建JAR文件等。 - **目标(Target)**:一系列相关任务的集合,通常按特定顺序执行。 - **属性(Property)**:用于存储和传递...

    apache-ant-1.8.2

    `&lt;target&gt;`定义了执行的步骤,而`&lt;task&gt;`则执行特定的动作,如`&lt;javac&gt;`用于编译Java源代码,`&lt;jar&gt;`用于打包JAR文件。 2. **依赖关系**:Ant允许你定义目标间的依赖关系。这样,当一个目标被调用时,其依赖的目标...

    ant-1.10+Maven-3.5i最新官方版下载

    Ant的核心概念是任务(Task),例如`javac`任务用于编译Java源代码,`jar`任务用于创建JAR文件。Ant的特点是高度可配置,允许开发者自定义任务和工作流程,适合于复杂或非标准的构建需求。 Maven,另一方面,也是由...

    apache-ant-1.8.2-bin

    3. **可扩展性**:Ant提供了许多内置的任务,如`javac`用于编译Java源代码,`jar`用于创建JAR文件等。此外,它还支持通过插件机制添加自定义任务,满足特定需求。 4. **依赖管理**:Ant可以管理项目依赖,自动下载...

    apache-ant-1.10.8-bin.zip

    1. **构建过程**:Ant使用任务(task)来执行具体的操作,如`javac`任务用于编译Java源代码,`jar`任务用于创建JAR文件,`copy`任务用于复制文件,`delete`任务用于删除文件或目录。这些任务可以通过配置属性参数来...

Global site tag (gtag.js) - Google Analytics