Apache Ant是一个基于Java的生成工具。据最初的创始人James Duncan Davidson介绍,这个工具的名称是another neat tool(另一个整洁工作)的首字母缩写。
1、project
default默认执行的target
<project default="execute">
2、target
name名字,depends依赖
<target name="compile">
<javac destdir="." srcdir="."/>
</target>
<target name="execute" depends="comple">
<java classpath="." classname="Hello"/>
</target>
3、添加文件夹
<mkdir dir="build">
<delete dir dir="build">
4、拷贝文件,文件夹集
fileset可以设定一组文件集来进行操作,dir指明文件集要进行选择的路径,通过id可以指定这个文件的名称,在使用的时候直接引入。
include和exclude可以设定包含返回和排除范围。
**/*.*所有目录的所有文件
<copy todir="build/src">
<fileset dir="src" includes="**/*.java"></fileset>
</copy>
<fileset id="src.path" dir="src" includes="**/*.*"></fileset>
<target name="copySrc">
<copy todir="build/src">
<fileset refid="src.path"></fileset>
</copy>
</target>
文件夹集也可以排除指定文件
<fileset id="src.path" dir="src">
<include name="**/*.*"/>
<exclude name="*/Test*/>"
</fileset>
5、编译
<javac destdir="build/classes" srcdir="src"></javac>
6、打包
<jar destfile="build/dist/hello.jar" basedir="build/classes">
<manifest>
<attribute name="Main-Class" value="zxb.Hello"/>
<attribute name="Build-By" value="zxb"/>
</manifest>
</jar>
7、执行
<java classname="zxb.Hellow" classpath="build/classes">
<arg value="aa"/>
</java>
<java jar="build/dist/hello.jar" fork="true"></java>
8、打印
<echo>doing...</echo>
9、定义属性,并使用${ } 来进行引用
<property name="build.dir" value="build"></property>
<property name="build.classes" value="${build.dir}/classes"></property>
<mkdir dir="${build.dir}">
使用属性定义路径时,使用location,而不要使用value
<property name="build.classes" location="${build.dir}\classes"></property>
10、如果属性太多,可以将属性放到一个外部文件中定义,然后进行引用
<property file="build.properties"></properties>
11、环境变量参数引用
<property environment="env"></property>
12、运行远程命令,需要commons-net-ftp-2.0.jar和jsch-0.1.29.jar
<target name="startup" description="Startup tomcat">
<sshexec host="${remote.host.ip}" username="mwuser" password="mwuser" trust="true" command="cd /mwbase/tomcat/domains/CLAIM_0_INT_4_1_1/bin; ./startup.sh"/>
</target>