任务和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. note_4.10

    单位根反演 \[ \frac{1}{k}\sum_{i=0}^{k-1}\omega_k^{in}=[k|n] \] 所以 \[ \begin{equation} \begin{split} \sum ...

  2. Ubuntu 18.04.1 安装java8

    ###下载tar.gz 点击选择接收协议 下载完文件之后,将文件从Windows复制到ubuntu上,可以用xShell,putty,git.这里用git 下载安装git之后,再任意位置右击,选择 g ...

  3. Android智能手机上的音频浅析【转】

    本文转载自:https://blog.csdn.net/david_tym/article/details/80903385 手机可以说是现在人日常生活中最离不开的电子设备了.它自诞生以来,从模拟的发 ...

  4. layer.msg如何让按钮的回调执行完毕后弹框不自动关闭

    问题出现:我点击“确定”时会验证“新手机号码”,如果验证不通过则不给该弹框关掉,但是实际操作时,不管验证怎么样,点击“确定”之后该弹框都会关掉. 之前的写法: layer.open({         ...

  5. PHP异步非阻塞fsockopen(本地可以非阻塞请求,服务器就一直执行异步的不成功) (未解决)

    index.php /** * php异步请求 * * @param $host string 主机地址 * @param $path string 路径 * @param $param array ...

  6. nginx基础模块

    http://www.nginx.cn/doc/ 基础模块 HTTP Core模块* HTTP Upstream 模块 HTTP Access 模块 HTTP Auth Basic 模块 HTTP A ...

  7. tomcat中设置Java 客户端程序的http(https)访问代理

    1.假定http/https代理服务器为 127.0.0.1 端口为8118 2.在tomcat/bin/catalina.sh脚本文件中设置JAVA_OPTS,如下图: 保存后重启tomcat就能生 ...

  8. centos下如何开放某个端口?

    命令如下: firewall-cmd --permanent --add-port=/tcp (开放22端口) firewall-cmd --reload

  9. FFmpeg 参数详解(二)

    https://blog.csdn.net/yizhizouxiaqu/article/details/52233673 5.参数选项 如果没有特殊声明,所有的数字参数都以一个字符串代表数字的形式作为 ...

  10. Windows下通过命令行 获取文件详细信息

    @echo off echo version: wmic datafile where Name="C:\\Product\\File\\Release\\1.1.1\\File.exe&q ...