1. Ant是一种基于Java的编译打包工具,目前最新版本为:Ant 1.8.1,官方下载地址为:http://ant.apache.org/bindownload.cgi。
2. Ant是Apache软件基金会JAKARTA目录中的一个子项目,它有以下的优点:
跨平台性,Ant是纯Java语言编写的,所示具有很好的跨平台性;
操作简单,Ant是由一个内置任务和可选任务组成的。Ant运行时需要一个XML文件(默认为build.xml);
Ant通过调用target树执行各种task,每个task实现了特定接口对象。由于Ant构建文件时XML格式的文件,易维护,结构清晰;
Ant可以集成到开发环境中,由于Ant的跨平台性和操作简单的特点,它很容易集成到一些开发环境中去。
3. Ant配置文件为build.xml,通过调用target树执行各种task,每个task由实现了一个实现了特定Task接口的对象来运行,以下为实例:
2. Ant是Apache软件基金会JAKARTA目录中的一个子项目,它有以下的优点:
跨平台性,Ant是纯Java语言编写的,所示具有很好的跨平台性;
操作简单,Ant是由一个内置任务和可选任务组成的。Ant运行时需要一个XML文件(默认为build.xml);
Ant通过调用target树执行各种task,每个task实现了特定接口对象。由于Ant构建文件时XML格式的文件,易维护,结构清晰;
Ant可以集成到开发环境中,由于Ant的跨平台性和操作简单的特点,它很容易集成到一些开发环境中去。
3. Ant配置文件为build.xml,通过调用target树执行各种task,每个task由实现了一个实现了特定Task接口的对象来运行,以下为实例:
<?xml version="1.0"?>
<project name="NES" default="doc">
<property name="NES.home" value="." />
<!-- 源jsp文件地址 -->
<property name="jsp.dir" value="${NES.home}/WebRoot" />
<!-- 源java文件地址 -->
<property name="java.dir" value="${NES.home}/src" />
<!-- 最终发布文件地址 -->
<property name="dist.dir" value="${NES.home}/dist" />
<!-- 最终class文件地址 -->
<property name="classes.dir" value="${NES.home}/dist/WEB-INF/classes" />
<!-- 最终jar文件地址 -->
<property name="jar.dir" value="${NES.home}/jar" />
<property name="lib.dir" value="lib" />
<property name="dist.dir" value="dist" />
<property name="doc.dir" value="doc"/>
<!-- 定义classpath -->
<path id="master-classpath">
<fileset file="${NES.home}/WebRoot/WEB-INF/lib/*.jar" />
<pathelement path="${classes.dir}"/>
</path>
<!-- 初始化 -->
<target name="init">
<delete dir="${jar.dir}"/>
<delete dir="${dist.dir}"/>
<mkdir dir="${jar.dir}" />
<mkdir dir="${dist.dir}" />
<mkdir dir="${classes.dir}" />
</target>
<!-- 编译 -->
<target name="compile" depends="init" description="compile the source files">
<javac srcdir="${java.dir}" destdir="${classes.dir}" target="1.6" includeantruntime="on" >
<compilerarg line="-encoding UTF-8" />
<classpath refid="master-classpath" />
</javac>
</target>
<!-- 测试 -->
<target name="test" depends="compile" description="run junit test">
</target>
<!-- 打包 -->
<target name="pack" depends="test" description="make .jar file">
<copy todir="${dist.dir}/WEB-INF/classes" preservelastmodified="true">
<fileset dir="${java.dir}" >
<include name="**/**"/>
<include name="**.**"/>
<exclude name="com/**"/>
</fileset>
</copy>
<copy todir="${dist.dir}" preservelastmodified="true">
<fileset dir="${jsp.dir}" >
<include name="**/**"/>
<include name="**.**"/>
<exclude name="classes/**"/>
</fileset>
</copy>
<jar destfile="${jar.dir}/nes.jar" basedir="${dist.dir}" />
</target>
<!-- 文档 -->
<target name="doc" depends="pack" description="create api doc">
</target>
</project>