任务和javac命令是相似,它编译两种类型的java文件1)没有被编译的java文件2)曾经编译过,但是class文件版本和当前对应的java文件版本不匹配的java文件。

1)javac命令支持的参数:

Attributes Description

srcdir :必须的,除非嵌套有标签。包含源文件的文件夹

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没搜到示例,自己试验几个都不行,会的请点拨下,不盛感激!

<?xml version = "1.0" encoding = "utf-8" ?>

<!-- basedir:代表基路径(基路径一般以build.xml的当前路径为准,否则在调用reStart时,可能报错:找不到build.xml文件) -->
<project name = "testAnt" default = "start" basedir = ".">
<property name = "class.Package" value = "classes"/>
<property name = "src.dir" value = "com/ant"/>
<property name = "jar.package" value = "output"/>
<property name = "jar.name" value = "testAnt.jar"/>
<property name = "class.name" value = "com.ant.TestAnt"/> <!-- 避免出现:[java] Could not find com.ant.TestAnt. Make sure you have it in your classpath:没有配置ant环境的话,直接在xml中配置path的pathelement属性:值为class的包路径 -->
<path id="classPath">
<pathelement path="${class.Package}"/>
</path> <!-- 创建包 -->
<target name = "init">
<mkdir dir = "${class.Package}"/>
<mkdir dir = "${jar.package}"/>
</target>
<!-- 编译成class文件 ,destdir:将class文件放在那里,includeantruntime="on":可避免出现warning: 'includeantruntime' was not set-->
<target name = "complie" depends = "init">
<javac srcdir = "${src.dir}" destdir = "${class.Package}" includeantruntime="on" />
</target>
<!-- 将class文件打成jar包 ,destfile:将jar放在那里+jar包的名字,basedir:根据哪里的目录的class而打成jar包-->
<target name = "jar" depends = "complie">
<jar destfile = "${jar.package}/${jar.name}" basedir = "${class.Package}"/>
</target>
<!-- 根据class文件,运行代码 -->
<target name = "start" depends = "jar">
<java classname = "${class.name}" classpathref = "classPath"/> <!-- classpath = "${class.Package}" -->
</target>
<!-- 删除文件:jar包+classes目录 ,dir:要删除的包名即目录名,file:要删除的jar包名-->
<target name = "clean" >
<delete dir = "${class.Package}"/>
<delete file = "${jar.package}/${jar.name}"/>
</target>
<!-- 同时运行多个target -->
<target name = "reStart"> <!-- depends = "clean,start" -->
<ant target = "clean"/>
<ant target = "start"/>
</target>
</project>

ant 节点和属性的更多相关文章

  1. js创建节点及其属性

    <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...

  2. 初探JavaScript(一)——也谈元素节点、属性节点、文本节点

    Javascript大行其道的时候,怎么能少了我来凑凑热闹^_^ 基本上自己对于js的知识储备很少,先前有用过JQuery实现一些简单功能,要论起JS的前世今生,来龙去脉,我就一小白.抱起一本< ...

  3. HTMLDOM中三种元素节点、属性节点、文本节点的测试案例

    HTML dom中常用的三种节点分别是元素节点.属性节点.文本节点. 具体指的内容可参考下图: 以下为测试用例: <!DOCTYPE html> <html> <head ...

  4. 用mel编写自定义节点的属性编辑器界面

    用mel编写自定义节点的属性编辑器界面比较麻烦,而且网上例子又少,下面给出一个范例,说明基本的格式 // 初始化节点时调用 global proc initControl(string $attrNa ...

  5. javascript_获取iframe框架中元素节点的属性值

    1. DOM:文档对象模型 [window 对象] 它是一个顶层对象,而不是另一个对象的属性即浏览器的窗口. [document 对象] 该对象是window和frames对象的一个属性,是显示于窗口 ...

  6. DOM中元素节点、属性节点、文本节点

    DOM中有12中节点,但最常用到的是元素节点,属性节点,文本节点. 元素节点的节点类型(nodeType)是1: 属性节点的节点类型(nodeType)是2: 文本节点的节点类型(nodeType)是 ...

  7. DOM中元素节点、属性节点、文本节点的理解

    DOM中元素节点.属性节点.文本节点的理解 节点信息 每个节点都拥有包含着关于节点某些信息的属性.这些属性是:nodeName(节点名称) nodeValue(节点值) nodeType(节点类型)  ...

  8. Ant 脚本打印系统属性变量、ant内置属性

    Ant 脚本打印系统属性变量.ant内置属性 作用 编写ant脚本的时候,经常会引用到系统属性,本脚本用于打印系统常用属性(System.getProperties)与环境变量(Environment ...

  9. jacascript DOM节点——元素节点、属性节点、文本节点

    前言:这是笔者学习之后自己的理解与整理.如果有错误或者疑问的地方,请大家指正,我会持续更新! DOM节点的三个种类:元素节点.文本节点.属性节点: 元素节点 元素节点就是 HTML 标签元素,元素节点 ...

随机推荐

  1. arts 打卡12周

    一 算法:  字符串转换整数 (atoi)   请你来实现一个 atoi 函数,使其能将字符串转换成整数. 首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为止. 当我们寻找 ...

  2. c# lock TransactionScope

    c# lock TransactionScope TransactionOptions option = new TransactionOptions(); //option.IsolationLev ...

  3. Spring boot druid 的配置使用

    依赖加入 <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artif ...

  4. 什么是epistatic effects | 上位效应

    epistatic与interaction之间的区别与联系? genetic上的interaction是如何定义的? Epistasis is the phenomenon where the eff ...

  5. python try except 出现异常时,except 中如何返回异常的信息字符串

    https://docs.python.org/3/tutorial/errors.html#handling-exceptions https://docs.python.org/3/library ...

  6. Tosca:键盘输入字符串

    这是方法之一

  7. MySQL 5.6&5.7 性能优化 TOP10(转)

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明.本文链接:https://blog.csdn.net/NLOneDay/article/deta ...

  8. java泛型--问号?和T或E或K或V的区别

    所谓泛型,就是在定义类.接口.方法.参数或成员变量的时候,指定它们操作对象的类型为通用类型. 使用 尖括号 <> 操作符 (The diamond operator )表示泛型, 尖括号内 ...

  9. Leetcode: Capacity To Ship Packages Within D Days

    A conveyor belt has packages that must be shipped from one port to another within D days. The i-th p ...

  10. [原]将BITMAPINFO保存成bmp文件,以及渲染到设备

    /* class Image { public: Image() = delete; Image(const uint32_t& _w, const uint32_t& _h) :w( ...