ant编译原理:编译命令ant默认调用同级目录下的build.xml文件来编译。
ant -f 路径/文件名 可指定编译文件来执行编译
ant工具的学习重点在于对build.xml的理解与使用。
下面是一个build.xml模板
<?xml version="1.0" encoding="UTF-8"?>
<project default="." basedir=".">
<!--默认执行模块-->
<property name="WebRoot.dir" location="WebRoot"/>
<property name="src.dir" location="src"/>
<property name="classess.dir" location="Webroot\WEBINF\classes"></property>
<!--定义路径,可写相对路径或绝对路径-->
<property name="web.name" value="emp"/>
<property name="webzip.name" value="web.zip"/>
<!--定义文件名字-->
<path id="lib">
<fileset dir="lib">
<include name="**/*.jar"/>
</fileset>
</path>
<!--项目编译需要的依赖classpath-->
<!-- fileset可以设定一组文件集进行操作;通过id可以制定这个文件的名称;dir指明文件集的路径;在使用时进行直接的引入 include可以设定包含返回和排除范围**/*.* dir路径下所有路径的所有文件-->
<!--编译java文件的路径-->
<fileset id="addrbook.path" dir="addrbook" includes="**/*.*"></fileset>
<fileset id="ptjk.path" dir="ptjk" includes="**/*.java"></fileset>
<!--初始化,创建目录删除目录或文件-->
<target name="init">
<delete dir="build"/>
<mkdir dir="build"/>
</target>
<!--编译java文件-->
<target name="compile">
<javac source="1.6" destdir="${classes.dir}" srcdir="${src.dir}" includeantruntime="on" debug="true" fork="true" memoryMaximumSize="512m">
<!--指定编码格式-->
<compilerarg line="-encoding UTF-8"/>
<compilerarg value="-XDignore.symbol.file"/>
<!--指定编译时的依赖路径-->
<classpath refid="project.lib"/>
</target>
<!--将需要的文件打包为zip包-->
<target name="zip">
<zip destfile="**/**/*.zip" duplicate="preserve" encoding="gbk" update="true">
<zipfileset dir="**/*/*/*.class" prefix="**"/>
</zip>
</target>
<!--将需要的文件打包为war包-->
<target name="war">
<war warfile="**/**/*.war" webxml="**/WEB-INF/web.xml" >
<fileset dir="**/*" />
</war>
</target>
<!--将需要的文件打包为jar包-->
<target name="jar">
<jar destfile="**/**/*.war" basedir="**/**/" />
</target>
<!--指定执行顺序-->
<target target="antcall">
<antcall target="init"/>
<antcall target="compile"/>
<antcall target="zip"/>
</target>
</project>