ant的build.xml配置

<project name="bookstore0" default="about" basedir=".">  
  
     <!-- name为指定工程的名字;default指定工程默认的target元素,运行ant时如果不指定target则运行default属性指定的target;   
     basedir属性指定工程的基路径,如果设置为".",就标识工程的基路径为build.xml文件所在的路径 -->  
  

    <target name="init"><!--完成初始化工作-->  
  
        <tstamp/>  
        <property name="build" value="build" />  
        <property name="src" value="src" />  
        <property environment="myenv" /><!--设置环境变量属性myenv,通过它可以访问系统环境变量。例如:${myenv.CATALINA_HOME}代表了CATALINA_HOME系统环境变量-->  
        <property name="servletpath"  value="${myenv.CATALINA_HOME}/common/lib/servlet-api.jar" />  
        <property name="mysqlpath" value="WEB-INF/lib/mysqldriver.jar" />  
  
		<!--在build.xml文件其他地方使用属性时的格式为${属性名}-->  
		<!--mkdir任务的dir属性指定需要创建的目录,如果是相对路径则取决于project元素的basedir属性-->  
		<mkdir dir="${build}" />  
		<mkdir dir="${build}\WEB-INF" />  
		<mkdir dir="${build}\WEB-INF\classes" />  
 
		<copy todir="${build}" ><!--todir指定把文件copy到哪个目录 -->  

			<fileset dir="${basedir}" ><!--dir指定从哪个目录copy -->  
				<include name="*.jsp" /><!--include指定需要拷贝哪些文件 -->  
				<include name="*.bmp" />  
				<include name="WEB-INF/**" /><!--表示需要拷贝WEB-INF目录下的所有的文件、子目录及子目录下的文件;   
												 如果是<include name="WEB-INF/*.*"/>,表示只需拷贝WEB-INF目录下的所有的文件,   
												 不包含子目录及子目录下的文件 -->  
				<exclude name="build.xml" /><!--exclude指定不需要拷贝哪些文件 -->  
			</fileset>  
		</copy>  
    </target>  
  
    <!--compile target用来编译java源程序-->  
	<target name="compile" depends="init"><!-- depends指定在执行本target之前必须完成的target,如:要执行compile必须完成init-->           
		<!--srcdir指定源文件存放目录,destdir指定生成的CLASS存放目录,其中目录结构必须保证与package语句一致-->  
		 <javac srcdir="${src}"     
				 destdir="${build}/WEB-INF/classes"  
				 classpath="${servletpath}:${mysqlpath}">  
		 </javac>  
	</target>  
  
	<!-- 通过war任务为工程 应用打包-->  
	<target name="bookstorewar" depends="compile">           
		<!--warfile指定生成的war文件,webxml指定Web应用的web.xml文件-->  
		<war warfile="${build}/bookstore.war" webxml="${build}/WEB-INF/web.xml">  
			<lib dir="${build}/WEB-INF/lib"/>  
			<classes dir="${build}/WEB-INF/classes"/>  
			<fileset dir="${build}"/><!--指定把dir指定的目录下的所有文件都加入包中-->  
		</war>   
	</target>  

    <!-- echo任务用于想控制台输出文本,与在DOS下的echo命令相似-->  
	<target name="about" >  
		<echo>   
		This build.xml file contains targets   
		for building bookstore web application   
		</echo>  
	</target>  
  
</project>

相关推荐