[ant]非常简单的ant使用教程 + 实践

http://blog.csdn.net/cm4ever/archive/2005/02/28/305559.aspx

一个项目目录的常用方式:

MyProject <dir>
|--lib <dir> --库目录
|--classes <dir> --目的文件目录
|--src <dir> --源文件目录
|--doc <dir> --api文档目录
|--build.xml

这样,你尽管把想要的.jar文件丢到lib目录就可以了,然后如果像我一样懒的话,用下面的build.xml就可以编译了。
----------
<project name="hellworld"basedir="./" default="c">

    <property name="appname" value="helloworld" />
    <property name="base" value="." />
    <property name="src" value="src" />
    <property name="build" value="classes" />
    <property name="myclasspath" value="${build}" />


  <path id="libpath">
    <fileset dir="lib/">
      <include name="**/*.jar"/>
    </fileset>
  </path>
   
  <target name="c" depends="">
       <javac classpath="${myclasspath}" srcdir="${src}" destdir="${build}" classpathref="libpath"/>
  </target>
</project>

----------

说明:
第一段定义路径p,加入lib下所有.jar文件。
第二段调用javac,指定classpath为前面定义的p,把src目录下的所有.java文件编译,成功后把.class文件放入classes目录。

运行ant的方式:
打开命令行窗口,进入build.xml所在目录,输入ant

更多知识,请参考
http://ant.apache.org下载ant并解压缩后,打开ant/docs/index.html, 在菜单中选择Manual->Ant Tasks->Core Tasks学习其他核心任务的用法

下载ant并解压缩后,打开ant/docs/index.html, 在菜单中选择Manual->Ant Tasks->Core Tasks学习其他核心任务的用法

==============================================

build.xml 配置:

<project name="bookstore0" default="about" basedir=".">

    <!-- name为指定工程的名字;default指定工程默认的target元素,运行ant时如果不指定target则运行default属性指定的target;

    basedir属性指定工程的基路径,如果设置为".",就标识工程的基路径为build.xml文件所在的路径 -->

    <target name="init"><!--完成初始化工作-->

        <tstamp/>

        <property name="build" value="build" />

        <property name="src" value="src" />

        <property environment="myenv" /><!--设置环境变量属性myenv,通过它可以访问系统环境变量。例如:${myenv.CATALINA_HOME}代表了CATALINA_HOME系统环境变量-->

        <property name="servletpath"  value="${myenv.CATALINA_HOME}/common/lib/servlet-api.jar" />

        <property name="mysqlpath" value="WEB-INF/lib/mysqldriver.jar" />

        

    <!--在build.xml文件其他地方使用属性时的格式为${属性名}-->

        <!--mkdir任务的dir属性指定需要创建的目录,如果是相对路径则取决于project元素的basedir属性-->

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

    <mkdir dir="${build}/WEB-INF" />

    <mkdir dir="${build}/WEB-INF/classes" />



      <copy todir="${build}" ><!--todir指定把文件copy到哪个目录 -->

        <fileset dir="${basedir}" ><!--dir指定从哪个目录copy -->

           <include name="*.jsp" /><!--include指定需要拷贝哪些文件 -->

           <include name="*.bmp" />

           <include name="WEB-INF/**" /><!--表示需要拷贝WEB-INF目录下的所有的文件、子目录及子目录下的文件;

    如果是<include name="WEB-INF/*.*"/>,表示只需拷贝WEB-INF目录下的所有的文件,不包含子目录及子目录下的文件 -->

           <exclude name="build.xml" /><!--exclude指定不需要拷贝哪些文件 -->

        </fileset>

     </copy>

    

   </target>



    <!--compile target用来编译java源程序-->

  <target name="compile" depends="init"><!-- depends指定在执行本target之前必须完成的target,如:要执行compile必须完成init-->        

    <!--srcdir指定源文件存放目录,destdir指定生成的CLASS存放目录,其中目录结构必须保证与package语句一致-->

     <javac srcdir="${src}"    destdir="${build}/WEB-INF/classes"   classpath="${servletpath}:${mysqlpath}">

     </javac>

  </target>

     

    <!-- 通过war任务为工程 应用打包-->

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

    <!--warfile指定生成的war文件,webxml指定Web应用的web.xml文件-->

    <war warfile="${build}/bookstore.war" webxml="${build}/WEB-INF/web.xml">

    <lib dir="${build}/WEB-INF/lib"/>

    <classes dir="${build}/WEB-INF/classes"/>

    <fileset dir="${build}"/><!--指定把dir指定的目录下的所有文件都加入包中-->

    </war>

    </target>



    <!-- echo任务用于想控制台输出文本,与在DOS下的echo命令相似-->

  <target name="about" >

        <echo>

       This build.xml file contains targets

       for building bookstore web application

        </echo>

   </target>



</project>

==================

一个最简单的build.xml

<project name="testBuild" default="compile" basedir=".">
     <property file="build.properties"/>
     <target name="init">
         <mkdir dir="${dest.dir}" />
     </target>
     <target name="compile" depends="init">
         <javac srcdir="${src.dir}" destdir="${dest.dir}"/>
         <echo>Build into ${dest.dir}, successfully.</echo>
     </target>
 </project>


build.properties

 dest.dir=D:/eclipse_egiro/workspace/CryptoApplet/build/
 src.dir=D:/eclipse_egiro/workspace/CryptoApplet/src 

Note: ${dest.dir} 中dest.dir 就是build.properties中的value




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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值