- ant环境搭建
- apache官网下载ant解压
- 配置环境变量
- ant脚本编写(标签[一部分])
- <project>标签
- name 项目名称
- default 默认执行的target
- basedir 项目基准路径
- description 描述
- <property>元素
- name 定义的属性名
- value 定义的属性值
- file 通过属性文件导入属性
- <target>标签
- name target名
- depends 依赖的target
- if unless 逻辑判断是否执行
- description 描述
- <mkdir>标签
- dir 要创建的目录名
- <jar>标签
- destfile 生成的jar文件名字
- basedir 被归档的目录
- includes 被归档的文件模式
- excludes 被排除的文件模式
- <javac标签>
- srcdir 源程序目录
- destdir class文件输出目录
- includes 被编译的文件模式
- excludes 被排除的文件模式
- classpath 使用的类路径(编译需要的依赖第三方库)
- debug 调试信息
- optimize 是否使用优化[]
- fileonerror 遇到错误是否停止
- <java>标签
- classname 将执行的类名
- jar 包含该类的jar文件
- classpath 使用的类路径(编译需要的依赖第三方库)
- fork 在一个新的虚拟机中运行该类
- output 输出文件
- appended 追加或者覆盖默认文件
- <delete>标签
- file 要删除的文件
- dir 要删除的目录
- includeEmptyDirs 是否对空目录进行该操作
- verbose 是否列出删除的文件
- <copy>标签
- file 源文件
- tofile 目标文件
- todir 目标文件夹
- overwrite 是否覆盖目标文件
- <war>标签
- destfile 生成的文件名
- dir 被归档的文件目录
- <echo>标签
- 输出message
- <project>标签
- ant数据类型
- argument 类型
- values 是一个命令参数。如果参数中有空格,但又想将它作为单独一个值,则使用此属性。
- file表示一个参数的文件名。在构建文件中,此文件名相对于当前的工作目录。
- line表示用空格分隔的多个参数列表。
- path表示路径
- ervironment 类型
- file表示环境变量值的文件名。此文件名要被转换位一个绝对路径。
- path表示环境变量的路径。Ant会将它转换为一个本地约定。
- value 表示环境变量的一个直接变量。
- key 表示环境变量名。
- filelist类型
- dir是用于计算绝对文件名的目录。
- files 是用逗号分隔的文件名列表。
- refid 是对某处定义的一个<filelist>的引用。
- fileset类型
- dir表示fileset 的基目录。
- casesensitive的值如果为false,那么匹配文件名时,fileset不是区分大小写的,其默认值为true.
- defaultexcludes 用来确定是否使用默认的排除模式,默认为true。
- excludes 是用逗号分隔的需要派出的文件模式列表。
- excludesfile 表示每行包含一个排除模式的文件的文件名。
- includes 是用逗号分隔的,需要包含的文件模式列表。
- includesfile 表示每行包括一个包含模式的文件名。
- patternset 类型:fileset 是对文件的分组,而patternset是对模式的分组,他们是紧密相关的概念。<patternset>支持4个属性:includes excludex includexfile 和 excludesfile,与fileset相同。Patternset 还允许以下嵌套元素:include,exclude,includefile 和 excludesfile.
- filterset 类型
- begintoken 表示嵌套过滤器所搜索的记号,这是标识其开始的字符串。
- endtoken表示嵌套过滤器所搜索的记号这是标识其结束的字符串。
- id是过滤器的唯一标志符。
- refid是对构建文件中某处定义一个过滤器的引用。
- Path类型
- location 表示一个文件或目录。Ant在内部将此扩展为一个绝对路径。
- refid 是对当前构建文件中某处定义的一个path的引用。
- path表示一个文件或路径名列表。
- mapper类型
- classname 表示实现mapper类的类名。当内置mapper不满足要求时,用于创建定制mapper.
- classpath表示查找一个定制mapper时所用的类型路径。
- classpathref是对某处定义的一个类路径的引用。
- from属性的含义取决于所用的mapper.
- to属性的含义取决于所用的mapper.
- type属性的取值为identity,flatten glob merge regexp 其中之一,它定义了要是用的内置mapper的类型。
- argument 类型
- ant扩展(自定义TASK)
- 继承org.apache.tools.Task;
- 覆写public void execute()throws BuildException;
- 在类中添加的属性即为任务标签的属性;
- 在build.xml中声明任务<taskdef name=" " classname=" " classpath="bin"/>
- ant用法示例
<?xml version="1.0" encoding='gbk'?>
<project name="proName" default="first" basedir=".">
<description>description</description>
<tstamp prefix="start" />
<tstamp>
<format property="compile.timestamp" pattern="yyyy-MM-dd HH.mm.ss" />
</tstamp>
<!-- set global properties for this build -->
<property file="build.properties" />
<target name="init" description="create timestamp and directories">
<echo>Init...</echo>
<tstamp />
<delete dir="classes" />
<delete dir="${distlib}" />
<mkdir dir="classes" />
<mkdir dir="${distlib}" />
</target>
<!-- copy-jars -->
<target name="copy-jars" depends="init" description="copy required jars">
<mkdir dir="${distlib}/WEB-INF/lib" />
<copy todir='${distlib}/WEB-INF/lib'>
<!-- jars -->
<fileset file="${jarPath}/validation-api-1.0.0.GA-sources.jar"/>
<fileset dir="${jarPath}/war/WEB-INF/lib" >
<include name="gwtexporter-2.4.0-M1.jar"/>
</fileset>
</copy>
</target>
<target name="jars" depends="copy-jars" >
<jar destfile='${distlib}/WEB-INF/lib/jarName.jar'>
<fileset dir="${projectName}/src">
<include name="com/**"/>
<include name="i18n/**"/>
</fileset>
</jar>
</target>
<!-- copy-conf -->
<target name="copy-conf" depends="jars" description="copy-conf">
<mkdir dir="${distlib}/WEB-INF/conf" />
<copydir dest="${distlib}/WEB-INF/conf" src="${project}/conf"/>
</target>
<target name="copy-file" depends="copy-conf" >
<copy todir='${distlib}'>
<fileset dir="${projectName}/war">
<exclude name="database/"/>
</fileset>
</copy>
</target>
<!-- gwt-compile -->
<target name="gwt-compile" depends="copy-file" description="Compile to JavaScript">
<java classname="com.google.gwt.dev.Compiler" fork="yes" failοnerrοr="true" maxmemory="512m" >
<classpath>
<pathelement location="${projectName}/src" />
<fileset dir="${distlib}/WEB-INF/lib/" />
<pathelement location="${gwt.home}/gwt-user.jar" />
<pathelement location="${gwt.home}/gwt-dev.jar" />
</classpath>
<arg value="-style"/>
<arg value="OBFUSCATED"/>
<arg value="${gwt.module.id}" />
<arg value="-war"/>
<arg value="${distlib}"/>
</java>
</target>
<target name="first" depends="gwt-compile" description="build war package" />
</project>