Ant 基本使用

来源:互联网 发布:mac全灭怎么拖出飞机 编辑:程序博客网 时间:2024/06/05 17:50

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/