`
sunbin
  • 浏览: 349575 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

ant初级

    博客分类:
  • ANT
阅读更多

Ant是什么?

 

Ant是一个构建工具,它可以帮助我们将项目开发过程中需要完成的各种步骤组织起来,通过一个简易的方式来构建整个项目。Ant究竟能做什么呢?这取决于Ant的任务(Task),Ant有哪些任务,就能完成哪些工作!一些典型的任务是:编译java源代码、运行java程序、拷贝文件或目录、将编译完成的类打包等等。

       当然,Ant是一个开放的架构,任何人,都可以按照自己的方式,添加自己的任务(Task),这需要遵守Ant的一些规范。

如何开始使用Ant

1、  确保你的机器已经安装了JDK,确保你的path环境变量中包含有java虚拟机的运行程序,确保你的环境变量中有JAVA_HOME变量

2、  下载ant并解压

3、  设置ANT_HOME环境变量,指向ant解压根目录

4、  path环境变量中,添加ANT_HOME\bin目录

5、  打开控制台,运行:ant

6、  如果能够运行ant(忽略这些异常:Buildfile: build.xml does not exist!),而不是出现诸如命令无法解释的错误,那么你的ant就安装成功了

Ant 的基本概念

Ant的运行,靠的是一个构建脚本,默认的名称叫build.xml,如果你在任何目录下运行ant命令,Ant将自动查找当前目录下有没有build.xml文件,如果有这个文件,就读取这个文件,并运行其中的默认target

解释一下以上话的意思:

构建脚本

Ant根据构建脚本的描述来执行任务!构建脚本是一个xml格式的文件。最简单的构建脚本是:

<?xml version="1.0" encoding="GBK"?>

<projectname="测试脚本"default="copyfile"basedir=".">

    <targetname="copyfile">

       <copy file="d:/a.txt" todir="c:/temp" overwrite="true"/>

    </target>

</project>

如果把以上内容放到一个build.xml文件中,然后运行ant命令,Ant将执行拷贝文件的任务!

从这个最简单的构建脚本中,我们可以知道脚本的基本编写方法:

1、  脚本的根元素是:<project>

2、  所有的任务,必须通过一个<target>标签包围,一个<target>标签,可以包含多个任务。

3、  <copy>标签描述了一个任务,这些任务必须放到一个<target>标签的内部,Ant都可以使用哪些任务呢?请参考Ant的相关文档

4、  <project>中可以包含多个<target>,如果不指定运行哪个任务(即直接运行ant命令),那么,将使用<project>标签中指定的default属性的target

构建脚本的命名

默认命名是build.xml,如果你的构建脚本的名称是build.xml,那么你可以直接运行ant命令,如果是其它的名称,如:mybuild.xml,那么,你的命令行应该改为:ant –f mybuild.xml

运行特定任务?

运行:ant copyfile,将运行的是被命名为copyfiletarget

Ant的路径模式?

再看下面的ant构建脚本:

<?xml version="1.0" encoding="GBK"?>

<projectname="测试脚本"default="copyfile"basedir=".">

    <targetname="copyfile">

       <copy todir=”c:/temp”>

           <fileset dir=”d:/”>

              <include name=”*.txt”/>

           </fileset>

       </copy>

    </target>

</project>

意思是拷贝d:盘下所有的以txt为扩展名的文件到c:/temp目录中。但是,究竟包不包含子目录下的txt文件呢?这就需要我们了解ant中的路径模式。Ant中的路径模式非常重要,很多地方都会用到,所以,我们首先来学习的就是ant的路径模式!

 

你可以查看ANT_HOME/docs/manual/dirtasks.html#patterns下的文档描述!里面有最详细的说明。

 

简单归纳一下:

 

*符号,代表0个或若干个字符。?符号,代表一个字符。

**代表一颗目录树。

 

Ant任务

Ant 有很多内置的(即你安装完ant之后就可以直接使用的任务)任务,但是也可以添加自己定义的任务。如果你编写了自己的任务,或者你要引入一些不是ant自带的任务时,我们需要使用<taskdef>标签来定义:

 

比如:

   <pathid="xdoclet.task.classpath">

         <filesetdir="${xdoclet.home}/lib">

         <includename="**/*.jar"/>

         </fileset>

         <filesetdir="${xdoclet.home}/plugins">

         <includename="**/*.jar"/>

         </fileset>

   </path>

    <taskdef

       name="xdoclet"

       classname="org.xdoclet.ant.XDocletTask"

       classpathref="xdoclet.task.classpath"

    />

在这段文本里,包含了很多内容:

1<path>元素,是用来定义一个路径的,通常是定义classpath,因为classpath可以包括众多的jar包,也可以包括众多的目录,所以可以使用<fileset>标签或<pathelement>等标签来定义这些路径。

2、这些标签总体上来说都是轻易便能够看懂的。无需过多的解释。那个<include>标签中的name属性,正是一个路径模式,表示包括本目录(即dir 属性定义的目录。)下的所有子目录中的jar文件。

 

定义完任务之后,就可以来使用它了,如:

 

    <targetname="生成Hibernate配置文件">

       <xdoclet>

           <filesetdir="${src.dir}/com/bjsxt/oa/model">

              <includename="**/*.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="mysql"

              dialect="org.hibernate.dialect.MySQLDialect"

              showsql="true"

           />

       </xdoclet>

    </target>

具体如何使用,请参考关于这个task的相关说明文档。

分享到:
评论

相关推荐

    angular集成ant-design的初级demo

    在本文中,我们将深入探讨如何将Angular框架与Ant Design库集成,以创建一个初级的前端应用。Angular是一款由Google维护的开源JavaScript框架,用于构建单页应用程序(SPA)。而Ant Design则是一个流行的UI设计语言...

    Ant权威指南(PDF电子书)

    《Ant权威指南》是一本详细介绍Apache Ant构建工具的电子书,它是由著名的计算机图书出版机构O'Reilly & Associates公司授权翻译出版的。O'Reilly公司以其在UNIX、X、Internet以及开放系统图书领域的领导地位而著称...

    Ant 命令详解

    ### Ant命令详解:掌握自动化构建...对于初级用户而言,熟练掌握Ant的基本概念和使用方法,将极大提升项目的构建效率和质量。通过深入学习和实践,开发者可以利用Ant的强大功能,实现更加复杂和高效的自动化构建流程。

    BlueJ Ant-开源

    总的来说,BlueJ Ant扩展提供了更加灵活和强大的构建功能,使BlueJ不仅仅是一个简单的编辑器,而是一个全面的开发环境,可以满足从初级到高级的开发者的需求。通过利用Ant的构建能力,开发者可以更好地管理和控制...

    初级英语单词表带音标

    1. 基本英语单词:包括 afternoon、alligator、ant、apple、are 等基本单词。 2. 人体部件:包括 head、eye、ear、nose、mouth 等人体部件的英语单词。 3. 家庭成员:包括 father、mother、brother、sister、...

    Android程序开发初级教程

    Android程序开发初级教程主要针对初学者,旨在引导他们进入Android应用开发的世界。这篇教程首先介绍了Android操作系统的基本情况,它是2007年由Google发布的一个开源操作系统,基于Linux内核。Android平台由多个...

    Android软件开发初级教程

    【Android软件开发初级教程】 Android是一个开放源代码的手机操作系统平台,由Google在2007年11月13日发布。它的核心基于Linux内核,为开发者提供了丰富的功能和开发工具。Android平台的架构包括以下几个关键部分:...

    TheFirstSimpleAntExample

    【标题】"TheFirstSimpleAntExample" 是一个关于Apache Ant工具的初级教程示例,它在ant_1.7.1版本中得到了验证。Apache Ant是Java开发中的一个自动化构建工具,它允许开发者通过XML配置文件来定义构建任务,如编译...

    Android程序开发初级教程[汇编].pdf

    【Android程序开发初级教程】是针对想要学习如何在Android平台上构建应用的初学者的一份指导材料。本教程首先介绍了Android操作系统的基本概念,它是一个开放源代码的系统,基于Linux内核,由Google引领发布。...

    安卓程序开发的初级教程【技术文档】

    安卓程序开发的初级教程主要介绍了如何入门到Android应用开发,涵盖了平台概述、开发环境搭建、基本的项目创建等基础知识。 1. **平台简介** Android是一个开放源代码的移动操作系统,基于Linux内核,由Google主导...

Global site tag (gtag.js) - Google Analytics