Ant 基础

    技术2022-05-19  28

    (1) Ant 用途

    Ant的作用还是很大的,如楼上说到的它可以用来做编译、部署、打包、测试等等工作,虽然现在的IDE环境已经集成了很多这样的功能,但是通常情况下我们还是会很频繁的使用到Ant,一般有这样一些原则: 1.如果你发现你的工作有有许多是每天要做的,或者是经常要反复执行的工作,那么可以考虑使用Ant,这样可以将这样的工作编写为Ant脚本,便于维护和定期执行 2.当你是系统管理员,或者部署人员时,可以考虑使用Ant 3.当你是测试人员,希望在夜晚离开公司时,自动执行一些单元测试,当白天到公司时就能看到结果时,可以考虑使用Ant 4.当你是版本管理人员时可以考虑使用Ant

     

    (2) Ant 搭建环境设置ANT_HOME,PATH中添加ANT_HOME目录下的bin目录测试一下你的设置,开始-->运行-->cmd进入命令行-->键入 ant 回车,如果看到Buildfile: build.xml does not exist!Build failed那么恭喜你你已经完成ant的设置

     

    (3) Ant 命令1)ant使用当前目录下的build.xml运行Ant,执行缺省的target。2)ant -buildfile test.xml使用当前目录下的test.xml运行Ant,执行缺省的target。3)ant -buildfile test.xml dist使用当前目录下的test.xml运行Ant,执行一个叫做dist的target。4)ant -buildfile test.xml -Dbuild=build/classes dist使用当前目录下的test.xml运行Ant,执行一个叫做dist的target,并设定build属性的值为build/classes。

     

    (4) 一个简单的ANT打包,部署,生成doc的build.xml配置文件写法<?xml version="1.0" encoding="UTF-8"?><!-- name:对应工程的名字;default:需要的缺省任务(运行"ant"不指明任务时执行的任务) --><project name="antTest" default="main" basedir="."> <!-- 建立目录结构src       JAVA源码编辑目录lib       jar包(类库)存放目录classes   编译生成的class文件存放目录WebRoot   jsp文件存放地方config    配置文件存放地方dist      war和javadoc存放目录  --><property name="appName" value="antTest"/><property name="src.dir" value="src"/><property name="webroot.dir" value="WebRoot"/><property name="lib.dir" value="${webroot.dir}/WEB-INF"/><property name="classes.dir" value="bin"/><property name="webapps.dir" value="D:/Tomcat6.0/webapps/antTest"/><property name="dist.dir" value="dist"/>  <!-- Compilation Classpath 路径设置 --><path id="compile.classpath"> <pathelement location="${classes.dir}"/> <fileset dir="${lib.dir}" includes="**/*.jar" /></path><!-- Clean Target 删除先前的目录结构 --><target name="clean"> <delete dir="${clesses.dir}"/> <delete dir="${webapps.dir}"/> <delete dir="${dist.dir}"/> </target> <!-- Prepare Target 建立打包的目的目录结构 --> <target name="prepare"> <mkdir dir="${classes.dir}"/></target><!-- Compile Target 编译代码,在这之前先由prepare建立目录结构 --> <target name="compile" depends="prepare" description="Compile java sources"> <javac srcdir="${src.dir}" destdir="${classes.dir}" debug="true">  <classpath refid="compile.classpath"/> </javac><!-- 把资源文件下的xml和properties 文件拷贝到classes下面--> <copy todir="${classes.dir}">  <fileset dir="${src.dir}">   <include name="**/*.xml"/>   <include name="**/*.properties" />  </fileset> </copy></target><!-- Deploy Target 在tomcat下建立应用目录并部署应用 --><target name="deploy" depends="compile" description="Deploy application to servlet container"> <mkdir dir="${webapps.dir}"/>  <copy todir="${webapps.dir}">   <fileset dir="${webroot.dir}"/>   </copy> <mkdir dir="${webapps.dir}/WEB-INF/classes"/>  <copy todir="${webapps.dir}/WEB-INF/classes">   <fileset dir="${classes.dir}" ><include name="**/**" />   </fileset>  </copy> <mkdir dir="${webapps.dir}/WEB-INF/lib"/>  <copy todir="${webapps.dir}/WEB-INF/lib">   <fileset dir="${lib.dir}" includes="*.jar" />  </copy></target><!-- Dist Target 默认的target 将应用打包成war,在这之前先执行clean和deploy --><target name="main" depends="clean,javadoc,deploy" description="Create binary destribution">  <jar jarfile="${dist.dir}/${appName}.war" basedir="${webapps.dir}"/></target>

    <!-- Javadoc Target 生成javadoc -->  <target name="javadoc" depends="compile" description="Create Javadoc API documentation">   <mkdir dir="${dist.dir}/docs/api"/>   <javadoc sourcepath="${src.dir}" destdir="${dist.dir}/docs/api" packagenames="*.*"/>  </target>  </project>


    最新回复(0)