zoukankan      html  css  js  c++  java
  • ant 入门

    一、构建ant环境

    1、下载:到ANT官方网站http://mirror.bjtu.edu.cn/apache/ant/binaries/下载最新版本,当前是apache-ant-1.8.4-bin.zip,解压后即可。
    2、配置环境变量:我的电脑----属性-----高级----环境变量
    如:ANT_HOME:D:\ant
    PATH:%ANT_HOME%\bin (为了方便在dos环境下操作)


    3、查看是否安装成功:在dos窗口中输入命令ant,若出现结果
    Buildfile:build.xml does not exist!
    Build failed
    说明ant安装成功!因为ant默认运行build.xml文件,这个文件需要我们建立。

    (以上安装部分就结束了,下面继续介绍如何编译打包)

    二、体验ant

    就像每个语言都有HelloWorld一样,一个最简单的应用能让人感受一下Ant
    1,首先你要知道你要干什么,我现在想做的事情是:
    编写一些程序
    编译它们
    把它打包成jar包
    把他们放在应该放置的地方
    运行它们
    这里为了简单起见只写一个程序,就是HelloWorld.java程序代码如下:

     1 package test.ant;
     2 
     3 public class HelloWorld {
     4 
     5     /**
     6      * @param args
     7      */
     8     public static void main(String[] args) {
     9         System.out.println("Hello ant !");
    10     }
    11 
    12 }

    2,为了达到上边的目的,你可以手动的用javac 、copy 、jar、java来完成,但是考虑一下如果你有成百上千个类,在多次调试,部署的时候,一次次的javac 、copy、jar、java那将是一份辛苦的工作。现在看看ant怎么优雅的完成它们。

    要运行ant需要有一个build.xml虽然不一定要叫这个名字,但是建议你这么做
    下边就是一个完整的build.xml,然后我们来详细的解释每一句

     1 <?xml version="1.0" encoding="UTF-8" ?>
     2 <project name="HelloWorld" default="run" basedir=".">
     3     <property name="src" value="src"/>
     4     <property name="dest" value="classes"/>
     5     <property name="hello_jar" value="hello1.jar"/>
     6     <target name="init">
     7         <mkdir dir="${dest}"/>
     8     </target>
     9     <target name="complie" depends="init">
    10         <javac srcdir="${src}" destdir="${dest}"/>
    11     </target>
    12     <target name="build" depends="complie">
    13         <jar jarfile="${hello_jar}" basedir="${dest}"/>
    14     </target>
    15     <target name="run" depends="build">
    16         <java classname="test.ant.HelloWorld" classpath="${hello_jar}"/>
    17     </target>
    18     <target name="clean">
    19         <delete dir="${dest}"/>
    20         <delete file="${hello_jar}"/>
    21     </target>
    22     <target name="rerun" depends="clean,run">
    23         <ant target="clean"/>
    24         <ant target="run"/>
    25     </target>
    26 </project>

    解释:

    <?xml version="1.0" encoding="UTF-8" ?> 
    build.xml中的第一句话,没有实际的意义

    <project name="HelloWorld" default="run" basedir=".">
    </project>
    ant的所有内容必须包含在这个里边,name是你给它取的名字,basedir故名思意就是工作的根目录 .代表当前目录。default代表默认要做的事情。

    <property name="src" value="src"/>
    类似程序中的变量,为什么这么做想一下变量的作用

    <target name="compile" depends="init">
      <javac srcdir="${src}" destdir="${dest}"/>
    </target>
    把你想做的每一件事情写成一个target ,它有一个名字,depends是它所依赖的target,在执行这个target 例如这里的compile之前ant会先检查init是否曾经被执行过,如果执行过则直接直接执行compile,如果没有则会先执行它依赖的target例如这里的init,然后在执行这个target

    如我们的计划
    编译:
    <target name="compile" depends="init">
     <javac srcdir="${src}" destdir="${dest}"/>
    </target>

    做jar包:
    <target name="build" depends="compile">
     <jar jarfile="${hello_jar}" basedir="${dest}"/>
    </target>
    运行:
    <target name="run" depends="build">
     <java classname="test.ant.HelloWorld" classpath="${hello_jar}"/>
    </target>
    为了不用拷贝,我们可以在最开始定义好目标文件夹,这样ant直接把结果就放在目标文件夹中了
    新建文件夹:
    <target name="init">
     <mkdir dir="${dest}"/>
    </target>
    为了更多一点的功能体现,又加入了两个target
    删除生成的文件
    <target name="clean">
     <delete dir="${dest}" />
     <delete file="${hello_jar}" />
    </target>
    再次运行,这里显示了如何在一个target里边调用其他的target
    <target name="rerun" depends="clean,run">
     <ant target="clean" />
     <ant target="run" />
    </target>

    3、将HelloWorld.java 和 build.xml文件拷贝至一个文件夹下,HelloWorld.java要位于src目录下(build.xml中定义了,所以才要这么做的)

    4、采用DOS命令进入对应的文件夹,输入ant命令

    OK,大功告成 ~  :)

    apache Ant中文手册 2.0版 http://www.blogjava.net/Files/dreamstone/ant3.rar 

  • 相关阅读:
    23种设计模式之责任链模式
    23种设计模式之中介者模式
    23种设计模式之代理模式
    23种设计模式之原型模式
    23种设计模式之模板方法模式
    23种设计模式之建造者模式
    23中设计模式之抽象工厂模式
    批处理产生001到999之间的数字
    批处理随机显示星期几
    批处理简易密码登录
  • 原文地址:https://www.cnblogs.com/yimu/p/2792562.html
Copyright © 2011-2022 走看看