第一次用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>