
<!-- Ant的使用,首先介绍一下Ant的基本用途,Ant可以用来编译Java文件、打包Jar,War、生成Javadoc等-->
<!-- 默认执行任务为compile,根目录为当前目录。-->
<project name="MyProject" default="compile" basedir=".">
<!-- 定义一些路径变量给后面使用-->
<property name="sourcedir" value="${basedir}/src"/>
<property name="webdir" value="${basedir}/build"/>
<property name="javaSourcedir" value="${sourcedir}/WEB-INF/classes"/>
<property name="webClassdir" value="${webdir}/WEB-INF/classes"/>
<property name="webClassLib" value="${webdir}/WEB-INF/lib"/>
<property name="compileLibDir" value="${basedir}/lib"/>
<!-- 读 jar lib文件-->
<path id="libraries" >
<!-- ${compileLibDir} 变量 就是上面定义的属性中获取,名称为compileLibDir,获取的dir目标路径(目录)就是
compileLibDir的value值-->
<fileset dir="${compileLibDir}">
<include name="*.jar"/>
</fileset>
</path>
<target name="clean">
<!-- 使用ant可以很方便的建立和删除目录,并可以一次建立和删除多级目录
说明:dir表示要建立或者删除的目录名。也可以一次定义多级目录。例如:${webapps}/WEB-INF/classes
注意:删除目录的时候,其子目录和目录内的文件都将一并被删除。
-->
<delete dir="${webdir}"/>
<mkdir dir="${webClassdir}"/>
</target>
<target name="copy">
<copy todir="${webdir}">
<fileset dir="${sourcedir}">
<exclude name="**/*.java"/>
</fileset>
</copy>
</target>
<!-- 这个任务段,就是build任务,首先 mkdir就是创建文件夹,然后进行编译。-->
<!-- clean,copy 的目标要定义前面,因为依赖她所以要先定义,记住的是只要某个target依赖于一个target,后者就会被先执行,
顺序(从左到右)依次执行每个target-->
<target name="compile" depends="clean, copy">
<!--用javac标签可以进行java程序的编译工作
srcdir就是Source direction,也就是要编译的源文件的目录。Descdir就是编译好的文件的目标路径。除了这两个最
基本的属性外还有debug,encoding属性。其中debug表明编译的时候是否需要把debug信息编译到class文件中,如果不
加这个参数,就相当于编译的命令行后面增加了-g:none参数。Encoding表明以何种编码方式来编译你的源文件,和命令行
的-encoding参数一样。另外,javac标签还可以包含classpath子标签,表明你在编译的时候需要使用到的jar包或者其
他class文件所在的路径
-->
<javac srcdir="${javaSourcedir}"
destdir="${webClassdir}"
classpathref="libraries"/>
<!-- 复制文件操作,复制文件操作就是将一系列的文件从一个目录下拷贝到另一个目录下
说明:todir表示目标目录。overwrite表示是否覆盖。flattern表示是否丢弃源文件的目录结构(如果源文件夹中包含多级目录,
这些目录也会被建立在目标文件夹中)。提示:如果不包括include(包括)和exclude(排斥)属性,那么会将源目录下的所有文件和文件夹拷贝到
目标目录中。
-->
<copy todir="${webClassLib}">
<fileset dir="${compileLibDir}">
<exclude name="**/servlet-api.jar"/>
</fileset>
</copy>
<!-- 打jar包操作就是将编译好的class文件打包成一个jar文件。<jar destfile="${dist}/app.jar" basedir="${dist.dir}"/>
下面介绍打war包
-->
<war warfile="${basedir}/demo.war" basedir="${webdir}" webxml="${webdir}/WEB-INF/web.xml">
<exclude name="WEB-INF/web.xml"/>
</war>
</target>
</project>
5:发布
详细描述http://blog.csdn.net/zhukejun/archive/2004/08/31/90088.aspx
发表于 @ 2007年03月20日 11:45:00 | 评论( loading... ) | 举报| 收藏