Ant

一、Ant是什么?

        面对一个很大的项目时,每次重新编译,打包,测试等都会变得非常复杂,并且会多次的重复上述的几个步骤,让人感觉非常繁琐。在java项目中,为了解决这种麻烦,ant就应运而生了。它是一个将软件编译、测试、部署等步骤联系在一起加以自动化的一个工具

所谓的生成工具就是在软件开发中用来将源代码和其他输入文件转换为可执行文件的形式。随着应用程序的生成过程变得更加复杂,确保在每次生成期间都使用精确相同的生成步骤,同时实现尽可能多的自动化,以便及时产生一致的生成版本。


二、Ant的特点

上面介绍了什么是Ant。既然它受到大家的欢迎,那么它肯定有它的特别之处。

       1、跨平台性。Ant是纯Java语言编写的,所以具有很好的跨平台性。

       2、Ant可以集成到开发环境中。由于Ant的跨平台性和操作简单的特点,它很容易集成到一些开发环 境中去。

       3、操作简单。Ant是由一个内置任务和可选任务组成的。Ant运行时需要一个XML文件(一般我们命名为bulid.xml)。 Ant通过调用target树,就可以执行各种task。每个task实现了特定接口对象。

       4、容易书写。由于Ant构建文件 时XML格式的文件,所以很容易维护和书写,而且结构很清晰


三、如何使用Ant

      1、首先是要下载.zip文件

      2、由于Ant是纯java编写的,是Apache下面的一个子项目。所以在安装Ant之前,需要安装JDK,并且配置好相应的环境变量。

     3、将zip解压缩到任意目录,假设解压缩到D:\apache-ant目录中

     4、新建一个ANT_HOME=D:\apache-ant

     5、将ANT_HOME放到path中

     6、在cmd中输入ant,显示如下就说明安装成功了

7、下面最重要的工作就是编写build.xml文件了,这里直接给出一个例子

<?xml version="1.0" encoding="GBK"?>  
<project name="任意一个名字" default="生成Hibernate配置文件" basedir=".">  
     
    <property name="src.dir" value="${basedir}/src"/>  
    <property name="build.dir" value="${basedir}/bin"/>  
    <property name="webapp.dir" value="${basedir}/src/webapp"/>  
    <property name="xdoclet.home" value="D:/xdoclet/xdoclet-plugins-1.0.3"/>  
      
    <!-- Build classpath 构建任务可能用到的依赖jar包路径-->  
    <path id="xdoclet.task.classpath">  
        <fileset dir="${xdoclet.home}/lib">  
            <include name="**/*.jar"/>  
        </fileset>  
        <fileset dir="${xdoclet.home}/plugins">  
            <include name="**/*.jar"/>  
        </fileset>  
    </path>  
    <!-- 引用引入的jar包-->  
    <taskdef  
        name="xdoclet"  
        classname="org.xdoclet.ant.XDocletTask"  
        classpathref="xdoclet.task.classpath"  
    />  
  
    <target name="生成Hibernate配置文件">  
        <xdoclet>  
            <fileset dir="${src.dir}/com/bjsxt/oa/model">  
                <include name="**/*.java"/>  
            </fileset>              
            <component  
                classname="org.xdoclet.plugin.hibernate.HibernateConfigPlugin"  
                destdir="${src.dir}"  
                version="3.0"  
                hbm2ddlauto="update"  
                jdbcurl="jdbc:mysql://127.0.0.1/oa_200706"  
                jdbcdriver="com.mysql.jdbc.Driver"  
                jdbcusername="root"  
                jdbcpassword="123456"  
                dialect="org.hibernate.dialect.MySQLDialect"  
                showsql="true"  
            />  
        </xdoclet>  
    </target>  
    <target name="生成hibernate映射文件">  
        <xdoclet>  
            <fileset dir="${src.dir}/com/bjsxt/oa/model">  
                <include name="**/*.java"/>  
            </fileset>  
            <component   
                classname="org.xdoclet.plugin.hibernate.HibernateMappingPlugin"  
                version="3.0"  
                destdir="${src.dir}"  
            />  
        </xdoclet>  
    </target>  
</project>  

     8、关于build.xml的位置:可以放在任何的位置。一般做法是放在项目顶层目录中。 这样可以保持项目的简洁和清晰

    9、运行ant。在eclipse中的window--->show view ---->ant。


四、一些扩展

      Ant的关键元素和常用元素语义说明:(来自于网络)

1、project:

ant构件文件的根元素,这个是必须的元素噢!它的三个属性我们都已经见到过了,分别为name、default、basedir。name属性就是指定project的名称了;default属性用于指定project默认执行的target名称;basedir属性用于指定基路径的位置,没有指定或者指定为".",则为Ant构件文件的附目标作为基准目录。

2、target:

Ant的基本执行单元,它可以包含一个或多个具体的执行任务。多个target可以存在相互依赖关系(depends属性),所以,看看它的一些属性:
name属性指定target的名称,这是属性是project元素中唯一的;depends属性用于描述多个target之间的依赖关系,被依赖的先执行。比如,我们运行一个java程序之前必须先编译它,所以,我们在运行的target中指定depends依赖于编译的target。如果与多个target存在依赖关系,则要用","间隔。Ant会依照depends属性中的target出现的顺序依次执行每个target;if属性验证执行此target的成立条件;unless属性与if属性相反,验证指定属性为假时所在的target执行;description属性是对此target功能的简短描述和说明

3、property :
     该元素说得直白些,就是一变量,project里的属性可通过property元素来设定,也可在外部引入一文件,例如build.properties(一定程度上可增加系统的维护性,一些开源项目常这么干),可通过如下方式引入:<property file="build.properties"/>。
     在引用property元素时,可通过将属性名放在"${"和"}"之间,当然了,Ant本身也提供一些内置属性,另外它也能得到的系统属性列表与Java文档中的System.getProperties()方法得到的属性一致,Ant的内置属性包括basedir()、ant.file、ant.version、ant.project.name、ant.java.version

评论 27
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值