Ant(快速编译工具)的使用

Ant:一种基于Java的build工具。开源项目ANT官网:http://ant.apache.org

每个ant脚本(缺省叫build.xml)中设置了一系列任务(target):比如对于一个一般的项目可能需要有以下任务。

  * 任务1:usage 打印本脚本的帮助信息(缺省)

  * 任务2:clean <-- init 清空初始化环境

  * 任务3:javadoc <-- build <-- init 生成JAVADOC

  * 任务4:jar <-- build <-- init 生成JAR

  * 任务5:all <-- jar + javadoc <-- build<-- init 完成以上所有任务:jar javadoc

而多个任务之间往往又包含了一定的依赖关系:比如把整个应用打包任务(jar)的这个依赖于编译任务(build),而编译任务又依赖于整个环境初始化任务(init)等。

build.xml格式参考:

<?xmlversion="1.0" ?> 

<projectname="Hello World" default="compress">

 

       <target name="compile">

              <javacsrcdir="."/>

              <echo> Compilation Complete!</echo>

       </target>

       

       <target name="compress"depends="compile">

              <jar destfile="HelloWorld.jar" basedir="."includes="*.class" />

              <echo> Building .jar file Complete! </echo>

       </target>

 

</project>

 

较为完整的实例build.xml文件:

<?xmlversion="1.0" encoding="UTF-8"?>

<project name="wartest" default="war">

   <!--属性设置,属性值设置后不可改变-->

   <property name="web.dir" location="WebContent" ></property>

   <property name="web.lib.dir" location="${web.dir}/WEB-INF/lib"></property>

   <property name="build.classes.dir" location="build/classes"></property>

   <property name="project.name" value="wartest"></property>

   

   <!--用到的jar文件设置路径-->

   <path id="compile.classpath">

         <fileset dir="${web.lib.dir}">

            <include name="*.jar"></include>

         </fileset>

   </path>

   

   <!--各种任务-->

   <target name="init">

      <mkdir dir="${build.classes.dir}"></mkdir>

      <mkdir dir="${dist.dir}"></mkdir>

   </target>

   

   

   <target name="compile" depends="init">

      <javac destdir="${build.classes.dir}" debug="true" srcdir="src">

         <classpath refid="compile.classpath"></classpath>

      </javac>

   </target>

   

   <target name="war" depends="compile">

      <war destfile="${dist.dir}/${project.name}.war" webxml="${web.dir}/WEB-INF/web.xml">

         <fileset dir="${web.dir}"/>

         <lib dir="${web.lib.dir}"/>

         <classes dir="${build.classes.dir}"/>

      </war>

   </target>

   

   <target name="clean">

      <delete dir="${dist.dir}"></delete>

      <delete dir="${build.classes.dir}"></delete>

   </target>

   

</project>

属性设置<property></property>还可以在build.properties文件中设置:

web.dir=WebContent

web.lib.dir=${web.dir}/WEB-INF/lib

然后在build.xml文件中应用:

<property file="build.properties" />

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值