纪念我第一个Ant脚本

<?xml version="1.0"?>
<project name="myProject"  default="war" basedir=".">

    <property name="classes" value="webroot/WEB-INF/classes"/>
    <property name="build" value="${basedir}/dist"/>
    <property name="lib" value="webroot/WEB-INF/lib"/>
    <property name="webDir" value="webroot"/>
	<path id="webclasspath">
	        <fileset dir="${webDir}/WEB-INF/lib" includes="**/*.jar"/>
			<fileset dir="${webDir}/WEB-INF/TomcatLib" includes="**/*.jar"/>
	    </path> 
	<!-- 删除build路径-->
    <target name="clean">
       <delete dir="${build}"/>
    </target>

    <!-- 建立build/classes路径,并编译class文件到build/classes路径下-->
    <target name="compile" depends="clean">
       <mkdir dir="${build}"/>	   
       <javac encoding="utf-8" srcdir="src" destdir="${classes}" classpathref="webclasspath"/>
    </target>

    <!-- 打war包-->
    <target name="war" depends="compile">
       	 <mkdir dir="${build}"/>   	
         <war destfile="${build}/myProject.war" webxml="webroot/WEB-INF/web.xml">
		   
           <!-- 拷贝WebRoot下所有目录的jsp文件-->
           <fileset dir="${webDir}" includes="**/*.jsp" excludes="${webDir}/work/*.*"/>
         	<!--拷贝WebRoot下所有目录的JS文件-->
         	<fileset dir="${webDir}" includes="**/*.js" excludes="${webDir}/work/*.*"/>
         	<!--拷贝WebRoot下所有目录的css文件-->
         	<fileset dir="${webDir}" includes="**/*.css" excludes="${webDir}/work/*.*"/>
         	<!--拷贝WebRoot下所有目录的xml文件-->
         	<fileset dir="${webDir}" includes="**/*.xml" excludes="${webDir}/work/*.*"/>
         	<!--拷贝WebRoot下所有目录的tld文件-->
         	<fileset dir="${webDir}" includes="**/*.tld" excludes="${webDir}/work/*.*"/>
         	<!--拷贝WebRoot下所有目录的xsd文件-->
            <fileset dir="${webDir}" includes="**/*.xsd" excludes="${webDir}/work/*.*"/>
           <!-- 拷贝lib目录下的jar包-->         	
         	<lib dir="${lib}" includes="**/*.jar" excludes="${webDir}/work/*.*"/>         	
           <!-- 拷贝build/classes下的class文件-->         	
           <classes dir="${classes}" includes="**/*.class" excludes="${webDir}/work/*.*"/>
         	
        </war>

    </target>

</project>

其中classpathref classpath区别的在于:

classpathref   引用ant脚本定义的

classpath 引用的是直接的jar/class文件

相关推荐