http://www.cnblogs.com/agilework/articles/2303597.html
基本命令
<?xml version="1.0" ?>
<project name ="antPro" default ="输出字符串测试" >
<property name="zhoufeng" value="is_zhoufeng" />
<target name="输出字符串测试">
<echo message="The base dir is: ${basedir}"/>
</target>
<target name="输出java版本信息" if="ant.java.version">
<echo message="java Version:${ant.java.version}" />
</target>
<target name="依赖测试" depends="输出java版本信息" >
<description>
a depentd example!
</description>
<echo message="the base dir : ${basedir}" />
<echo message="${zhoufeng}" />
</target>
<target name="复制文件">
<copy file="build.xml" tofile="c:/xxx.xml"/>
</target>
<!-- 将${basedir}目录下所有文件复制到c:/xxxx_dir -->
<target name="复制目录测试" >
<copy todir="c:/xxxx_dir">
<fileset dir="${basedir}"></fileset>
</copy>
</target>
<target name="删除文件测试">
<delete file="c:/xxx.pdf"></delete>
</target>
<target name="删除目录测试">
<delete dir="c:/xxx"></delete>
</target>
<target name="删除空目录和备份目录">
<delete includeemptydirs="true">
<fileset dir="." includes="**/*.bak" />
</delete>
</target>
<target name="创建目录测试">
<mkdir dir="c:/xxx"/>
</target>
<target name="移动文件测试">
<move file="c:/zf.py" tofile="d:/zf.py"></move>
</target>
<target name="移动目录测试">
<move file="c:/xxx" tofile="d:/xxx"></move>
</target>
<target name="输入出字符串到文件测试">
<echo message="hello world!" file="c:/xxx.txt" append="true"></echo>
</target>
</project>
打包可运行jar文件
<?xml version="1.0" ?>
<project name="ant_test" basedir="../">
<property name="class_dir" value="${basedir}/build/classes" ></property>
<target name="初始化目录">
<delete dir="${class_dir}" />
<mkdir dir="${class_dir}"/>
</target>
<target name="编译" depends="初始化目录">
<javac srcdir="${basedir}/src" destdir="${class_dir}" includeantruntime="false"></javac>
</target>
<target name="运行" depends="编译">
<java classname="Frame1" >
<classpath>
<pathelement path="${class_dir}" />
</classpath>
</java>
</target>
<target name="打成可运行jar包" depends="编译">
<delete file="c:\Frame1.jar" />
<jar destfile="c:\Frame1.jar" basedir="${class_dir}" >
<manifest>
<attribute name="Main-class" value="com.zf.frame.Frame1"/>
</manifest>
</jar>
</target>
</project>
打包可运行的jar文件二
<?xml version="1.0" ?>
<project name="导出可执行jar文件" basedir="../">
<property name="src_dir" value="${basedir}\src" />
<property name="build_dir" value="${basedir}\build" />
<property name="classes_dir" value="${build_dir}\classes" />
<property name="lib_dir" value="${basedir}\lib" />
<target name="initBuilder">
<delete dir="${build_dir}"></delete>
<mkdir dir="${build_dir}" />
<mkdir dir="${classes_dir}" />
</target>
<target name="compile" depends="initBuilder">
<javac srcdir="${src_dir}" destdir="${classes_dir}" encoding="utf-8" debug="true" debuglevel="source,lines,vars">
<classpath>
<path>
<fileset dir="${lib_dir}">
<include name="*.jar"/>
</fileset>
</path>
</classpath>
</javac>
</target>
<target name="pkgJar" depends="compile">
<jar destfile="${build_dir}\csdn.jar" basedir="${classes_dir}" >
<manifest>
<attribute name="Main-class" value="com.zf.csdn.StringFormatGUI" />
</manifest>
<!-- 加入依赖jar文件 -->
<zipfileset excludes="META-INF/*.SF" src="${lib_dir}/log4j-1.2.17.jar" />
</jar>
</target>
<target name="test" >
<echo>${build_dir}</echo>
</target>
</project>
打包war文件
<?xml version="1.0" ?>
<project name="ant_web_test" basedir="../">
<property name="build" value="${basedir}/build" ></property>
<property name="classes" value="${build}/classes" ></property>
<property name="lib" value="${basedir}/WebRoot/WEB-INF/lib"></property>
<property name="tomcat-lib" value="E:\apache-tomcat-7.0.11\lib"></property>
<property name="source-encoding" value="UTF-8" />
<!-- 编译需要的jar包 -->
<path id="build-classpath">
<fileset dir="${lib}">
<include name="*.jar"/>
</fileset>
<fileset dir="${tomcat-lib}">
<include name="*.jar"/>
</fileset>
</path>
<target name="初始化编译目录">
<delete dir="${build}"></delete>
<mkdir dir="${classes}"/>
</target>
<target name="编译文件" depends="初始化编译目录" >
<javac srcdir="${basedir}/src" destdir="${classes}"
classpathref="build-classpath" encoding="${source-encoding}"
debug="true" debuglevel="source,lines,vars">
</javac>
</target>
<target name="打成war包" depends="编译文件">
<war destfile="${build}/ant_web_test.war" webxml="${basedir}/WebRoot/WEB-INF/web.xml">
<fileset dir="${basedir}/WebRoot" includes="**/*" ></fileset>
</war>
</target>
<target name="部署项目" depends="打成war包">
<copy file="${build}/ant_web_test.war" tofile="E:\apache-tomcat-7.0.11\webapps\ant_web_test.war" ></copy>
</target>
</project>
部署项目到远程服务器
<?xml version="1.0" ?>
<project name="etdsreport" basedir="../" default="部署项目">
<property name="tomcat_home" value="D:\zhoufeng\apache-tomcat-6.0.32-windows-x86\apache-tomcat-6.0.32"></property>
<property name="lib_dir" value="${basedir}/WebContent/WEB-INF/lib"></property>
<property name="compiled_dir" value="${basedir}/build_dir/classes"></property>
<property name="project_name" value="etds"></property>
<!-- 编译需要用到的库文件 -->
<path id="compiled_lib">
<fileset dir="${tomcat_home}/lib">
<include name="*" />
</fileset>
<fileset dir="${lib_dir}">
<include name="*"/>
</fileset>
</path>
<target name="初始化编译目录">
<delete dir="${compiled_dir}" />
<mkdir dir="${compiled_dir}"/>
</target>
<target name="编译文件" depends="初始化编译目录">
<javac srcdir="${basedir}/src/etds/report"
classpathref="compiled_lib" encoding="utf-8"
destdir="${compiled_dir}" includeantruntime="true" debug="true">
</javac>
<!-- 复制配置文件到classes目录下 -->
<copy todir="${compiled_dir}">
<fileset dir="${basedir}/src">
<include name="*.xml"/>
<include name="*.properties"/>
</fileset>
</copy>
</target>
<target name="打包为war文件" depends="编译文件">
<war destfile="${basedir}/build_dir/${project_name}.war"
webxml="${basedir}/WebContent/WEB-INF/web.xml"
>
<classes dir="${compiled_dir}" />
<lib dir="${lib_dir}" />
<fileset dir="${basedir}/WebContent">
<include name="**/*"/>
<!-- 不包含WEB-INF目录下面文件,避免class 文件和jar文件的重复 -->
<exclude name="WEB-INF/**/*" />
</fileset>
</war>
</target>
<target name="部署项目" depends="打包为war文件">
<!-- 关闭tomcat -->
<sshexec host="192.168.1.168" username="zhoufeng" password="zhoufeng"
command="/data/tomcats/tomcat_zf/bin/shutdown.sh"/>
<echo>关闭tomcat</echo>
<!-- 删除旧项目成功 -->
<sshexec host="192.168.1.168" username="zhoufeng" password="zhoufeng"
command="rm -rf /data/tomcats/tomcat_zf/webapps/etds*"/>
<echo>删除旧项目成功</echo>
<!-- 将项目部署到远程服务器 -->
<scp file="${basedir}/build_dir/${project_name}.war"
todir="zhoufeng@192.168.1.168:/data/tomcats/tomcat_zf/webapps/"
trust="true"
password="zhoufeng"
>
</scp>
<echo>部署项目成功</echo>
<!-- 打开tomcat -->
<sshexec host="192.168.1.168" username="zhoufeng" password="zhoufeng"
command="/data/tomcats/tomcat_zf/bin/startup.sh"/>
<echo>开启tomcat成功</echo>
</target>
</project>
ant scp使用技巧 参考 http://blog.163.com/cecil2007@126/blog/static/170570070201119103447980/