第一次用ant编写打包命令,写下纪念
<?xml version="1.0" encoding= "UTF-8" ?> <project name="myweb_project" default="dist" basedir="."> <!-- 该项目需要jdk1.5以上的编译器进行编译 --> <property name="java_home" value="C:\jdk5"></property> <!-- 定义项目变量 --> <property name="project" value="myweb"></property> <property name="project_root" value="."/> <property name="project_src" value="${project_root}\src"/> <property name="project_webcontent_name" value="WebContent"/> <!-- 定义项目依赖的各个包的路径变量--> <property name="project_lib" value="${project_root}\${project_webcontent_name}\WEB-INF\lib"/> <property name="jboss_home" value="E:\jboss"/> <property name="jboss_lib" value="${jboss_home}\lib"/> <property name="jboss_client_lib" value="${jboss_home}\client"/> <!-- 定义打包输出路径 --> <property name="duilt_dir" value="E:\autoBiult"/> <property name="dest" value="${duilt_dir}\myweb_dest"/> <property name="classes" value="${dest}/WEB-INF/classes"/> <!-- 定义打包的后缀 --> <property name="suffix" value="war"/> <!-- 定义发布路径 --> <property name="deploy_path" value="${jboss_home}\server\default\deploy"/> <!-- 设置项目的类路径:将各个依赖包包含进来 --> <path id="myweb.project.class.path"> <fileset dir="${project_lib}"> <include name="**/*.jar"/> </fileset> <fileset dir="${jboss_lib}"> <include name="**/*.jar"/> </fileset> <fileset dir="${jboss_client_lib}"> <include name="**/*.jar"/> </fileset> </path> <!-- 判断源码是否存在 --> <condition property="project_src_exist"> <and> <available file="${project_src}" type="dir"/> </and> </condition> <!-- 判断打包路径是否存在 --> <condition property="dest_exist"> <and> <available file="${dest}" type="dir"/> </and> </condition> <!-- 判断webContent是否存在 --> <condition property="webcontent_exist"> <and> <available file="${project_root}\${project_webcontent_name}" type="dir"/> </and> </condition> <!-- 判断发布目录是否存在 --> <condition property="deployFolderIsExist"> <and> <available file="${deploy_path}\${project}.${suffix}" type="file"/> </and> </condition> <target name="test_src" unless="project_src_exist"> <echo message="the folder src was not exist!"/> <echo message="generate the fold! ${project_src}"/> <mkdir dir="${project_src}" /> </target> <target name="test_webcontent_exist" unless="webcontent_exist"> <echo message="the folder WebContent was not exist!"/> <echo message="generate the fold! ${project_root}\${project_webcontent_name}"/> <mkdir dir="${project_root}\${project_webcontent_name}" /> </target> <!-- 编译前的准备 --> <target name="complile_prepare" depends="test_src,test_webcontent_exist"> <echo message="compile prepare"/> <echo message="make dir ${classes}"/> <mkdir dir="${classes}"/> </target> <!-- 开始编译 --> <target name="compile" depends="complile_prepare"> <echo message="compile source file in the src dir"/> <echo message="compile java home : ${java_home}"/> <javac encoding="UTF-8" srcdir="${project_src}" destdir="${classes}" debug="on" executable="${java_home}/bin/javac.exe" fork="yes" memoryInitialSize="128m" memoryMaximumSize="512m"> <classpath> <path refid="myweb.project.class.path"/> </classpath> </javac> </target> <!-- 拷贝webContent里面的内容 --> <target name="copy_webcontent" depends="compile"> <echo message="copy webcontent to ${dest}"/> <copy todir="${dest}"> <fileset dir="${project_root}\${project_webcontent_name}"> <exclude name="**/*.java"/> </fileset> </copy> </target> <!-- 拷贝classes下的内容--> <target name="copy_classes" depends="compile"> <echo message="copy classes to ${classes}"/> <copy todir="${classes}"> <fileset dir="${project_src}"> <exclude name="**/*.java"/> </fileset> </copy> </target> <!--发布--> <target name="deploy" depends="copy_webcontent,copy_classes"> <echo message="================deploy to ${deploy_path}\${project}.${suffix}==============="> </echo> <copy todir="${deploy_path}\${project}.${suffix}"> <fileset dir="${dest}"> <include name="**"/> <exclude name="**/*Test.class"/> </fileset> </copy> <echo message="deploy success"/> </target> <!-- 打包 --> <target name="dist" depends="copy_webcontent,copy_classes" description="package project"> <echo message="=========jar to ${duilt_dir}\${project}.${suffix}==========="/> <jar destfile="${duilt_dir}\${project}.${suffix}" basedir="${dest}" includes="**" excludes="**/*Test.class"/> <echo message="=========jar success==========="/> </target> <!-- 清理 --> <target name="clean_dest" description="clean project"> <echo message="=========clean ${dest}==========="/> <delete dir="${dest}"/> <delete file="${duilt_dir}\${project}.${suffix}"/> </target> <!-- 清理发布文件 --> <target name="clean_deploy" description="clean deploy"> <echo message="=========clean ${deploy_path}\${project}.${suffix}==========="/> <delete dir="${deploy_path}\${project}.${suffix}"/> </target> </project>