转自:http://czj4451.iteye.com/blog/1455427
1. available
格式:
- <available property="prefix"
- value="${basedir}/.."
- file="${basedir}/../build/jetty-build.xml"/>
用途:
如果指定的file存在,就设置这个property为指定的value
2. condition
格式:
- <condition property="prefix" value="${basedir}">
- <not>
- <isset property="prefix"/>
- </not>
- </condition>
用途:
如果满足了指定的条件(prefix没有被设置),则设置这个property为指定的value
3. javac
格式:
- <javac source="${JAVAC_SOURCE}" target="${JAVAC_TARGET}"
- executable="${JAVAC_EXE}" fork="yes" destdir="classes"
- classpath="${outDir}" classpathref="libraries"
- optimize="off" verbose="off" debug="on"
- memoryInitialSize="256M" memoryMaximumSize="512M">
- <src path="${srcDir}"/>
- <include name="**/*.java"/>
- </javac>
用途:
调用指定的javac去编译src下面的所有的java源文件。
source - javac1.4之前的版本忽略此项。可以设置为ant.build.javac.source
target - VM的版本号,据此来生成类文件。默认值依赖当前的JVM。可以设置为ant.build.javac.target
executable - javac可执行文件的完整路径,当fork设置为yes,默认值为运行ant的编译器
fork - 为true时在外部启用一个新的JDK编译线程进行编译,默认值为no
destdir - 类文件的保存位置
classpath - 使用的类路径
classpathref - 使用的类路径,其它地方定义的类路径的引用
optimize - 是否启用编译优化,默认值是off。自JDK1.3后被忽略
verbose - 在编译时是否显示详细的信息
debug - 是否为编译生成调试信息,默认值为off。如果设置为true,根据debuglevel的属性值来决定级别
memoryInitialSize - 如果 javac 在外部运行,则是底层 VM 的初始内存大小;否则将被忽略。默认为标准 VM 内存设置。(例如:83886080、81920k 或 80m)
memoryMaximumSize - 如果 javac 在外部运行,则是底层 VM 的最大内存大小;否则将被忽略。默认为标准 VM 内存设置。(例如:83886080、81920k 或 80m)
srcdir - Java源文件的位置
includes - 必须包括的文件模式的列表,以逗号或空格分隔。如果忽略,将包括所有文件
4. nbjpdastart
格式:
- <nbjpdastart name="My application" addressproperty="jpda.address2" transport="dt_socket">
- <sourcepath>
- <pathelement path="src"/>
- </sourcepath>
- </nbjpdastart>
用途:
调用NetBeans的java debug去调试指定目录下的java源文件。
5. java
格式:
- <java jar="start.jar" fork="yes" dir="bin" failonerror="true" jvm="${java.executable}">
- <jvmarg value="-Xdebug"/>
- <jvmarg value="-mx256M"/>
- <jvmarg value="-Xnoagent"/>
- <jvmarg value="-Djetty.home=."/>
- <jvmarg value="-Djava.compiler=none"/>
- <jvmarg value="-Xrunjdwp:transport=dt_socket,address=${jpda.address2}"/>
- <jvmarg value="-DSTOP.PORT=-1"/>
- <jvmarg value="-Xverify:none"/>
- <jvmarg value="-Xbootclasspath/a:${jettyOutDir}\\ext\\mail.jar"/》
- <jvmarg value="-Dprimary.address=10.123.146.10"/>
- <jvmarg value="-Dprimary.port=8080"/>
- </java>
用途:
调用jvm去运行指定的jar文件。
这里有一行参数:<jvmarg value="-Xrunjdwp:transport=dt_socket,address=${jpda.address2}"/>就是让NetBeans的debugger和这个jvm关联。开启debugger时,会自动指定一个端口号,并赋值给jpda.address2, 后面开启的jvm就会绑定到这个端口上。
6. for
格式:
- <for param="fileName">
- <path>
- ...
- </path>
- <sequential>
- <echo>@{filename}</echo>
- </sequential>
- </for>
用途:
对path中的每个文件进行sequential里面的操作。
7. mxmlc
格式:
- <mxmlc file="@{filename}" keep-generated-actionscript="true">
- <source-path path-element="flex/locale"/>
- <compiler.include-libraries dir="${FLEX_HOME}/frameworks/libs">
- <include name="automation.swc"/>
- <include name="automation_agent.swc"/>
- <include name="automation_charts.swc"/>
- </compiler.include-libraries>
- <compiler.include-libraries dir="flex/lib">
- <include name="graphLayout.swc"/>
- <include name="unComponentToolbox.swc"/>
- <include name="PrimitiveIcons.swc"/>
- </compiler.include-libraries>
- <compiler.include-libraries dir="${rftBinDir}">
- <include name="rft.swc"/>
- <include name="rftProp.swc"/>
- </compiler.include-libraries>
- </mxmlc>
用途:
调用Flex Builder的compiler和使用扩展的libraries对指定的Flex源文件进行编译
8. sequential
格式:
- <sequential>
- <mkdir ... />
- <copy ... />
- <nbjpdastart ... />
- </sequential>
用途:
sequential没有属性,可以包含sub tasks,并且顺序执行它们。
9. echo
格式:
- <echo message="Fire crews" />
- <echo>Fire crews</echo>
- <echo file="containment.txt" append="false">Fire crews</echo>
- <echo message="Fire crews" file="containment.txt" append="false" />
- <echo level="debug">Are hoping</echo>
用途:
在指定的level下(可选)显示message或者标签之间的内容,并将内容输出到file文件中(可选)。
10. signjar
格式:
- <signjar jar="crew.jar" alias="containment" storepass="123456" keystore="cert.p12" storetype="pkcs12" />
用途:
调用jarsigner对指定的jar文件进行签名。
alias - 别名
storepass - 密码
storetype - 类型
keystore - key文件名称
11. project
格式:
- <project name="WebApplication" default="init" basedir="."></project>
用途:
所有其它ant命令的包裹标签,和当前工程对应。
name - 工程名
default - 默认调用的target名
basedir - 项目根目录的相对路径(相对于当前ant文件)
12. jar
格式:
- <jar update="true" compress="true" jarfile="${outDir}/tag-1.0.jar">
- <manifest>
- <attribute name="Build-User" value="John"/>
- </manifest>
- <metainf dir="${srcDir}/META-INF/">
- <include name="**/*.xml" />
- </metainf>
- <fileset dir="${outDir}">
- <include name="**/*.class" />
- </fileset>
- </jar>
用途:
打包类和其它文件。
update - 如果文件已经存在,是否更新或覆盖,默认为false
compress - 不仅存储而且压缩数据,默认值为true
jarfile (destfile) - 生成的jar文件名
manifest - 指定MANIFEST.MF文件中的属性键值对
metainf - 指定文件集,所有在这个集合中的文件都会被包含在jar包的META-INF目录下
fileset - 被打包的文件集
13. path
格式:
- <path id="build.classpath">
- <fileset dir="${outDir}">
- <include name="**/*.class" />
- </fileset>
- <pathelement location="${basedir}\..\encryption\build" />
- </path>
用途:
指定路径以便为其他task所使用。
14. taskdef
- <taskdef name="wlst" classname="weblogic.ant.taskdefs.management.WLSTTask">
- <classpath>
- <pathelement location="${weblogic.jar.location}"/>
- </classpath>
- </taskdef>
- <wlst debug="true" failonerror="true" filename="${weblogicscriptlocation}">
- <classpath>
- <pathelement location="${weblogic.jar.location}"/>
- </classpath>
- </wlst>
相关推荐
- **XML结构**:Ant脚本以XML格式编写,遵循特定的命名空间和元素结构,如`<project>`、`<target>`、`<task>`等。 - **属性(Attribute)**:任务通常有属性,用来设置参数,例如`srcdir`用于指定源代码目录,`...
总的来说,这个场景涉及到Ant脚本的基本使用,包括执行外部命令(如SVN)、编译源码、管理类路径以及打包成JAR。在实际开发中,Ant脚本可以被定制以满足各种复杂的构建需求,确保项目的构建过程自动化、可重复且高效...
本文将深入探讨如何使用`Ant`脚本来编译并创建一个`JAR`文件,以此来理解`Ant`脚本的工作原理和实际应用。 `Ant`是Apache软件基金会开发的一款开源构建工具,它使用XML格式定义构建过程,具有高度可配置性和可扩展...
11. `-D<property>=<value>`:设置系统属性,这些属性可以在Ant脚本中被引用,也可以覆盖已经设定的属性值。 二、Ant系统属性 1. `${os.name}`:返回操作系统的名称,例如Windows、Linux等。 2. `${basedir}`:...
Shell脚本和Ant脚本是两种在IT行业中广泛使用的自动化工具,主要应用于Unix/Linux系统和Java项目的构建。这里我们将深入探讨这两个概念以及它们在实际工作中的应用。 首先,Shell脚本是基于Unix/Linux命令行环境的...
我的ant脚本,用于打包文件,其中包含了常见的jar包工具,学习常用的ant命令
当你在命令行中输入`ant`命令时,实际上是运行了这个批处理文件。这个脚本会设置必要的环境变量,并调用Java来执行Ant的主类`org.apache.tools.ant.Main`,从而启动Ant构建过程。 4. **`build.xml`文件**: `build...
ANT,全称Apache Ant,是一种Java库和命令行工具,其任务是驱动构建过程。它被广泛用于自动化Java项目的构建、编译、测试和部署...在实际开发中,开发者可以根据项目的具体需求,自定义ANT脚本来满足自动化构建的需求。
在本文中,我们将深入探讨Ant脚本的各个方面。 ### Ant的基本结构 Ant的核心是构建文件,这个文件通常以XML格式编写,包含了多个目标(target)和任务(task)。目标是一系列任务的集合,它们按照特定顺序执行。...
本资源"Ant和批处理脚本.rar"聚焦于两种常用的自动化工具:Apache Ant和Windows批处理脚本,它们在不同场景下各有优势。 Apache Ant是一个由Apache软件基金会开发的Java库和命令行工具,其设计目标是驱动构建过程。...
本文将深入探讨“ANT打包命令”,一种基于Java的构建工具Apache Ant,以及如何利用它来管理和构建项目。 Apache Ant是一个开源的、跨平台的构建工具,它以XML格式定义构建文件,使得构建过程具有可读性强、可配置性...
标题中的"shell ant sed命令"涉及的是三种在Unix/Linux及类似操作系统中常用的命令行工具,它们在IT领域尤其是软件开发和系统管理中扮演着重要角色。 1. **Shell**:Shell是操作系统提供的一种命令行解释器,允许...
6. **运行Ant脚本**:在命令行中执行`ant <target>`命令,如`ant package`,Ant会根据build.xml文件中的配置执行打包任务。 7. **多渠道打包**:在脚本中添加循环或者条件判断,遍历所有渠道的配置文件,为每个渠道...
任务是Ant脚本中的基本单元,它们定义了特定的构建操作,如编译源代码、生成Javadoc或打包JAR文件。任务之间可以有依赖关系,例如,通常打包任务(jar)依赖于编译任务(build),编译任务又依赖于初始化环境(init...
标题中提到的"ant脚本,打可运行的jar包"是指使用Ant来创建一个包含所有必需依赖的可执行JAR文件。这样的JAR文件通常被称为"fat JAR"或"uber JAR",因为它包含了项目本身的所有类以及任何第三方库,使得可以直接通过...
这个“Ant执行脚本仅供自己参考”的标题暗示我们可能会探讨如何编写和使用Ant构建脚本来管理Java项目的生命周期。 Ant的核心概念是任务(Tasks),这些任务是构建过程中的操作单元,例如编译源代码、打包JAR文件、...
### Android自动打包、签名、优化、上传ANT脚本详解 #### 一、概述 随着移动互联网的发展,Android应用开发越来越受到开发者的重视。为了提高开发效率、减少人为错误,自动化工具变得尤为重要。其中,利用ANT脚本...
Ant的任务可以通过内置的任务或者自定义的任务来实现,提供了丰富的操作文件和执行命令的能力。例如,`<javac>`任务用于编译Java源代码,`<jar>`任务则用于打包JAR文件。 接下来,我们关注Ant的API文档。Ant的API...
### Robotium Ant 构建脚本详解 #### 一、问题背景及解决方案 在使用Robotium结合Ant构建脚本的过程中,遇到的一个常见问题是测试代码未能正确编译导致无法获取最新的测试结果。通常情况下,直接使用Android SDK ...