### ant脚本通用模板知识点详解 #### 一、Ant简介 Apache Ant 是一个Java环境下的构建工具,主要用于编译、测试、部署等任务的自动化执行。Ant使用XML格式来描述构建过程,使得整个构建流程清晰易懂。对于中小型项目而言,Ant能够很好地满足日常开发中的构建需求。 #### 二、Ant脚本结构分析 在给出的示例中,可以看到一个典型的Ant脚本结构。下面将详细介绍脚本中各个部分的功能和用途。 ##### 1. `<project>`元素 这是Ant脚本的根元素,定义了项目的名称、默认目标(target)以及基本目录等属性。 ```xml <project name="MQ_Transfer" default="jar" basedir="."> ``` - **`name`**: 定义项目的名称。 - **`default`**: 指定默认执行的目标(target),如果没有指定,则会执行第一个定义的目标。 - **`basedir`**: 表示项目的基目录,默认为当前目录。 ##### 2. `<property>`元素 用于定义变量,这些变量可以在整个脚本中被引用。 ```xml <property name="src.dir" value="src"/> <property name="build.dir" value="build"/> ... ``` - **`name`**: 变量名。 - **`value`**: 变量值。 这些变量可以用于指定源代码路径、构建路径等。 ##### 3. `<path>`与`<pathelement>`元素 这些元素用于定义类路径(path),以便在编译或运行时可以找到所需的类库。 ```xml <path id="compile_lib"> <fileset dir="${lib.dir}"> <include name="**/*.jar"/> </fileset> <pathelement path="${build.dir}"/> </path> ``` - **`id`**: 定义类路径的唯一标识符。 - **`fileset`**: 用于指定包含在类路径中的文件集。 - **`include`**: 指定包含哪些文件。 - **`pathelement`**: 将指定路径添加到类路径中。 ##### 4. `<target>`元素 表示一个构建目标,可以包含一系列的任务(task)。 ```xml <target name="clean"> <delete dir="${build.dir}"/> </target> ``` - **`name`**: 目标名称。 - **`depends`**: 依赖的目标列表,按顺序执行。 每个`<target>`元素可以定义一个或多个任务(task)。例如,`<delete>`用于删除文件或目录。 ##### 5. `<javac>`与`<java>`元素 用于编译Java源代码和运行Java程序。 ```xml <javac srcdir="${src.dir}" destdir="${build.dir}" debug="on"> <classpath refid="compile_lib"/> </javac> ``` - **`srcdir`**: 源代码目录。 - **`destdir`**: 编译后的类文件存放目录。 - **`debug`**: 是否生成调试信息。 - **`classpath`**: 类路径。 ```xml <java classname="com.sysway.oa.service.transfer.TestSendAndGet"> <classpath> <pathelement location="${build.dir}"/> <fileset dir="${lib.dir}"> <include name="**/*.jar"/> </fileset> <fileset dir="${res.dir}"> <include name="**/*"/> </fileset> </classpath> </java> ``` - **`classname`**: 要运行的主类名称。 - **`classpath`**: 类路径。 ##### 6. `<jar>`与`<war>`元素 用于创建JAR包或WAR包。 ```xml <jar destfile="${jarname}"> <fileset dir="${build.dir}" excludes="**/Test*.class"/> <fileset dir="${res.dir}" includes="**/*"/> </jar> ``` - **`destfile`**: 输出文件名。 - **`fileset`**: 包含的文件集。 - **`excludes`**: 排除的文件模式。 - **`includes`**: 包含的文件模式。 ```xml <war destfile="${warname}" webxml="${web.dir}/WEB-INF/web.xml"> <fileset dir="${web.dir}"> <include name="**/*.*"/> </fileset> </war> ``` - **`webxml`**: Web应用程序的部署描述符。 #### 三、构建流程概述 根据上述脚本,我们可以看出整个构建流程大致如下: 1. **初始化** (`init`): 清理旧的构建目录,并创建新的构建目录。 2. **编译** (`compile`): 使用定义好的类路径编译Java源代码。 3. **打包** (`jar`, `war`): 创建JAR包或WAR包。 4. **测试** (`runtest`): 运行测试类。 5. **部署** (`deploywar`): 将WAR包部署到Tomcat服务器。 以上就是一个基于Ant脚本的典型构建流程示例,通过这种方式可以自动化完成项目构建、测试及部署等一系列操作。
<property name="src.dir" value="src"/>
<property name="build.dir" value="build"/>
<property name="res.dir" value="res"/>
<property name="doc.dir" value="doc"/>
<property name="lib.dir" value="lib"/>
<property name="web.dir" value="defaultroot"/>
<property name="deploy.path" value="c:/tomcat/webapp"/>
<property name="jarname" value="sysway_oa_mq.jar"/>
<property name="warname" value="sysway_oa_mq.war"/>
<property name="tomcat.home" value="D:\\swoa_xwf\\tomcat4.1.12"/>
<property name="tomcat.manager.url" value="http://localhost:8080/manager"/>
<property name="tomcat.username" value="tomcat"/>
<property name="tomcat.password" value="tomcat"/>
<path id="compile_lib">
<fileset dir="${lib.dir}">
<include name="**/*.jar"/>
</fileset>
<pathelement path="${build.dir}"/>
</path>
<!-- del dir -->
<target name="clean">
<delete dir="${build.dir}"/>
</target>
<!-- make dir -->
- Roy_Burns2015-08-24有点坑吧,这种东西还要分,不过还是感谢楼主分享的
- 粉丝: 37
- 资源: 164
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助