<javac>任务和javac命令是相似,它编译两种类型的java文件1)没有被编译的java文件2)曾经编译过,但是class文件版本和当前对应的java文件版本不匹配的java文件。
1)javac命令支持的参数:
Attributes Description
srcdir :必须的,除非嵌套有<src>标签。包含源文件的文件夹
bootclasspath:编译过程中需要导入class文件会被导入
bootclasspathref:编译过程中需要引用的class文件夹目录
classpath:The class path to use. 文件夹中class会被导入的jar包
classpathref:文件夹中class文件会被引用的jar包
compiler :指定要使用的编译器。如果未设置该特性,将使用 build.compiler 属性的值(如果设置)。否则,将使用当前 VM 的默认编译器。
例子:设置环境变量 JIKESHOME 为 jikes 的路径
设置 ANT_OPTS=-Dbuild.compiler=jikes
将 jikes 路径添加到系统 PATH 中
然后在所有的ant任务就默认使用 jikes 了, 如果你想在单个工程中使用 ant, 就不要添加 ANT_OPTS 环境变量, 只需要修改 build.xml 中 javac 标签中的 compiler 为 jikes
debug: 当值未为true时产生调试信息
debuglevel: 相当于命令行中要追加到 -g 命令行开关后面的关键字列表。这将会被除 modern 和 classic(ver >= 1.2) 以外的所有实现忽略。合法值是 none 或下列关键字的逗号分隔列表:lines、vars 和 source。如果不指定 debuglevel,则默认情况下,将不会在 -g 的后面追加任何关键字。如果不打开 debug,该特性将被忽略。
depend: 这个任务依赖的任务。当运行这个任务时,首先按照顺序依次执行完依赖的任务,如果出错将停止执行
deprecation: 假如为真,将会给出不建议使用的API,默认值false
destdir: 编译后文件存放的目标文件夹,默认是当前文件夹。
encoding:指定编码格式
excludes :必须排除的文件模式的列表,以逗号或空格分隔。如果忽略,将不会排除任何文件(默认排除的文件除外)。
excludesfile: 该文件的每一行都将作为一个 exclude 模式。
extdirs: Specifies an alternative location of installed extensions that overrides the default.
failonerror: 指定 clientgen Ant 任务在出现错误的情况下是否继续执行。 此特性的有效值为 True 或 False。默认值为 True,这意味着即使遇到错误也要继续执行。
fork: 为true时在外部启用一个新的JDK 编译器进程执行编译。默认值是true,应用在需要配置编译器运行时环境时
includeantruntime :指出是否应在类路径中包括 Ant 运行时程序库,默认为 yes。
includejavaruntime: 指出是否应在类路径中包括来自执行 VM 的默认运行时程序库,默认为 no。
includes: 必须包括的文件模式的列表,以逗号或空格分隔。如果忽略,将包括所有文件。
includesfile: 文件名。该文件的每一行都将作为一个 include 模式。
listfiles: 为真时显示被编译文件列表,默认为false
memoryinitialsize 如果 javac 在外部运行,则是底层 VM 的初始内存大小;否则将被忽略。默认为标准 VM 内存设置。(例如:83886080、81920k 或 80m)
memorymaximumsize: 如果 javac 在外部运行,则是底层 VM 的最大内存大小;否则将被忽略。默认为标准 VM 内存设置。(例如:83886080、81920k 或 80m)
nowarn: 为真时将忽略所有警告信息
optimize: 指出是否应该用优化方式编译源代码,默认为 off。
source: 假如设置为1.4,将激活断言。默认是1.3
sourcepath: 指定源资源文件夹。默认指向srcdir
sourcepathref: 指定你想引用资源
target: Specifies the VM version to generate class files for (for example, 1.1 or 1.3).
verbose: 控制生成消息的输出量。
2)compilerarg设置命令行参数:file,line,path,value.其中value直接指定编译参数,如-g。file,line,path没搜到示例,自己试验几个都不行,会的请点拨下,不盛感激!
分享到:
相关推荐
<br><br><br>Development<br>===========<br><br>If you're interested in changing and extending ProGuard, you can start by<br>compiling the source code yourself:<br><br> mkdir classes<br> javac -...
<br><br>一、用ant编译源码(所有源文件及目录结构请下载)<br><br>C:\cs>ant compile<br>Buildfile: build.xml<br><br>compile:<br>[mkdir] Created dir: C:\cs\build<br>[javac] Compiling 60 source files to C:\cs...
总结来说,"Using the ant javac adapter"的主题涵盖了Ant构建工具的使用,特别是如何利用Ant的`<javac>`任务与Javac编译器进行交互,以及可能涉及的Eclipse JDT插件如何支持这个过程。理解这些知识点对于任何Java...
- 常用任务的详细介绍,如`<project>`, `<target>`, `<property>`, `<mkdir>`, `<copy>`, `<delete>`, `<javac>`, `<junit>`等 - 属性(properties)的使用,以及如何通过命令行传递自定义属性 - 如何处理依赖关系,...
Ant还支持条件语句(如`<if>`、`<unless>`)和选择器(如`<include>`、`<exclude>`),这使得我们可以根据不同的条件执行不同的任务,或者选择性地处理文件。此外,Ant提供了`<antcall>`任务,可以调用脚本中的其他...
`<target>` 元素中的 `<mkdir>`、`<javac>`、`<jar>`、`<java>` 和 `<delete>` 是 Ant 内置的任务,它们分别对应创建目录、编译 Java 源码、打包 JAR、运行 Java 类和删除文件或目录的操作。 Ant 的优点在于它的跨...
每个`<target>`可以包含多个`<task>`,`<task>`则代表具体的操作,如`<javac>`用于编译Java源码,`<copy>`用于复制文件,`<jar>`用于创建JAR文件等。 ANT的强大之处在于它的任务库,这些任务是由Ant本身提供的,...
XML文档中的关键字,如`<project>`、`<target>`、`<property>`和`<javac>`,是Ant的核心组成部分,它们使得开发者能够灵活地定义和控制项目的构建流程。虽然本资源缺乏具体实例,但掌握这些关键字的含义和用法,对于...
总的来说,使用Ant编译Java项目并创建jar包,你需要编写一个包含`<javac>`和`<jar>`任务的构建文件,同时可以利用Ivy管理依赖,Emma生成测试覆盖率报告,以及Ant Contrib中的额外任务来增强Ant的功能。通过这种方式...
例如,`<project>`标签是构建文件的根元素,`<target>`标签用于定义一系列要执行的任务,`<taskdef>`用于引入自定义任务,`<property>`用于设置属性值,`<copy>`用于复制文件,`<jar>`用于创建JAR文件,`<javac>`...
例如,可能会有如何配置`<project>`、`<target>`、`<taskdef>`、`<mkdir>`、`<copy>`、`<javac>`等元素的示例。 "Ant入门"可能是这个压缩包中的主要教程或者指南,它可能涵盖了Ant的基本概念、安装步骤、XML配置...
`<classpath>`元素则在`<javac>`和`<junit>`任务中引用这个类路径,确保编译和测试时能找到所需的类库。 `<target>`元素`compile`定义了编译任务,它创建了类文件目录,并使用`<javac>`任务来编译源代码。`<javac>`...
Ant通过一系列预定义的任务(如`<javac>`、`<copy>`、`<jar>`等)来执行不同的操作。每个任务可以有自己的属性,比如`<javac>`任务中的`srcdir`(源代码目录)和`destdir`(目标编译目录)。 5. **运行Ant**: 要...
`<target>`标签则用于定义具体的任务,每个任务可以包含一系列的动作,如`<javac>`用于编译Java源码,`<jar>`用于创建JAR文件,`<copy>`用于复制文件,`<delete>`用于删除文件等。 `helloWorld`可能是项目中的一个...
<maven.compiler.source>1.7</maven.compiler.source> <maven.compiler.target>1.7</maven.compiler.target> <maven.compiler.compilerVersion>1.7</maven.compiler.compilerVersion> </properties> </profile>...
在`build.xml`中,我们通常会看到`<project>`、`<target>`、`<taskdef>`、`<mkdir>`、`<javac>`、`<jar>`等标签。 1. `<project>`标签:它是整个构建文件的根元素,包含了一些全局属性,如项目名称、默认目标等。 2...
这个一个实时显示DOS程序执行的小软件,特色在于可在窗体内直接输入要执行的Dos命令(如ping 127.0.0.1),则输出结果可直接显示在窗体的memo控件上。利用该程序可以包装dos命令以及其它一些dos应用程序。
<br>五、程序分析题<br>阅读下列程序,然后回答问题。<br>class Car { <br> int carNumber;<br> Car(){}<br> Car(int no){<br> this.carNumber=no;<br> } <br> void setNumber(int carNum) {<br> carNumber = carNum...
3. **基本任务**:Ant提供了一系列内置任务,如`<javac>`用于编译Java源代码,`<copy>`用于复制文件,`<jar>`用于打包成JAR文件,`<delete>`用于删除文件或目录,`<mkdir>`创建目录等。 4. **条件与选择**:Ant支持...