`
newleague
  • 浏览: 1492846 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类

Ant使用小结

 
阅读更多

Ant构建工具使用:

1、下载ant并解压到硬盘的某个位置
2、配置ant的环境变量ANT_HOME=D:\commons\apache-ant-1.7.1  path=%ANT_HOME%\bin
3、测试ant是否安装成功。
运行cmd命令(小窗口+r可以调出运行窗口键入cmd)进入dos窗口,键入ant回车运行得到
Buildfile: build.xml does not exist!
Build failed
这就说明ant安装成功。


每个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


1.project元素

project元素是Ant构件文件的根元素,Ant构件文件至少应该包含一个project元素,否则会发生错误。在每个project元素下,可包含多个target元素。接下来向读者展示一下project元素的各属性。

1)name属性

用于指定project元素的名称。

2)default属性

用于指定project默认执行时所执行的target的名称。

3)basedir属性

用于指定基路径的位置。该属性没有指定时,使用Ant的构件文件的附目录作为基准目录。


2.target元素

它为Ant的基本执行单元,它可以包含一个或多个具体的任务。多个target可以存在相互依赖关系。它有如下属性:

1)name属性

指定target元素的名称,这个属性在一个project元素中是唯一的。我们可以通过指定target元素的名称来指定某个target。

2)depends属性

用于描述target之间的依赖关系,若与多个target存在依赖关系时,需要以“,”间隔。Ant会依照depends属性中target出现的顺序依次执行每个target。被依赖的target会先执行。

3)if属性

用于验证指定的属性是否存在,若不存在,所在target将不会被执行。

4)unless属性

该属性的功能与if属性的功能正好相反,它也用于验证指定的属性是否存在,若不存在,所在target将会被执行。

5)description属性

该属性是关于target功能的简短描述和说明。

 

3. property元素

该元素可看作参量或者参数的定义,project的属性可以通过property元素来设定,也可在Ant之外设定。若要在外部引入某文件,例如build.properties文件,可以通过如下内容将其引入:<property file=” build.properties”/>

property元素可用作task的属性值。在task中是通过将属性名放在“${”和“}”之间,并放在task属性值的位置来实现的。

Ant提供了一些内置的属性,它能得到的系统属性的列表与Java文档中System.getPropertis()方法得到的属性一致,这些系统属性可参考sun网站的说明。

同时,Ant还提供了一些它自己的内置属性,如下:

basedir:project基目录的绝对路径,该属性在讲解project元素时有详细说明,不再赘述;

ant.file:buildfile的绝对路径,如上面的各例子中,ant.file的值为E:"build.xml;

ant.version:Ant的版本,在本文中,值为1.7.0;

ant.project.name:当前指定的project的名字,即前文说到的project的name属性的值;

ant.java.version:Ant检测到的JDK的版本.


常用任务

在Ant工具中每一个任务封装了具体要执行的功能,是Ant工具的基本执行单位。在本小节中,主要引导读者来看下Ant的常用任务及其使用举例。

1.       copy任务

该任务主要用来对文件和目录的复制功能。举例如下:

Eg1.复制单个文件:<copy file="file.txt" tofile="copy.txt"/>

Eg2.对文件目录进行复制:

   <copy todir="../newdir/dest_dir">

            <fileset dir="src_dir"/>

 </copy>

Eg3. 将文件复制到另外的目录:

 <copy file="file.txt" todir="../other/dir"/>

2.       delete任务

对文件或目录进行删除,举例如下:

Eg1. 删除某个文件:<delete file="photo/amigo.jpg"/>

Eg2. 删除某个目录:<delete dir="photo"/>

Eg3. 删除所有的备份目录或空目录:

        <delete includeEmptyDirs="true">

               <fileset dir="." includes="**/*.bak"/>

        </delete>

3.       mkdir任务

创建目录。eg:<mkdir dir="build"/>

4.       move任务

移动文件或目录,举例如下:

Eg1. 移动单个文件:<move file="fromfile" tofile=”tofile”/>

Eg2. 移动单个文件到另一个目录:<move file="fromfile" todir=”movedir”/>

Eg3. 移动某个目录到另一个目录:

        <move todir="newdir">

               <fileset dir="olddir"/>

        </move>

5.  echo任务

该任务的作用是根据日志或监控器的级别输出信息。它包括message、file、append和level四个属性,举例如下:

<echo message="Hello,Amigo" file="logs/system.log" append="true">


利用Ant构建和部署Java工程

Ant可以代替使用javac、java和jar等命令来执行java操作,从而达到轻松的构建和部署Java工程的目的



<!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><?xml version="1.0"  encoding="GB2312" ?>

<!-- 一个项目,可包含很多任务组(target) -->
<project default="compile" basedir="D:\com" >

    
<!-- 项目中的一个任务组,可包含很多任务(task:javac,java-->
    
<target name="compile">

        
<!--编译-->
        
<javac srcdir="D:\test" destdir="D:\"/>
        
<!--打包创建一个文件hello.jar并把D:\com下的所有文件添加到其中-->
        
<jar destfile="hello.jar" />
        
        
<!--压缩-->
        
<zip destfile="output.zip" basedir="${basedir}"/>
        
  
</target>
        

        
<!--运行-->
     
<target name="run" depends="compile">
       
<java classname="HelloWorld">
           
<classpath>
              
<pathelement path=""/>
           
</classpath>
       
</java>
    
</target>



  
</project>
使用Ant的war任务打包J2EE Web项目
build.xml文件,其内容如下:
Code
<!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><?xml version="1.0"?>
<project name="antwebproject"  default="war"basedir=".">
 
<property name="classes" value="build/classes"/>
    
<property name="build"value="build"/>
    
<property name="lib"value="WebRoot/WEB-INF/lib"/>
    
<!-- 删除build路径-->
    
<target name="clean">
       
<delete dir="build"/>
    
</target>

    
<!-- 建立build/classes路径,并编译class文件到build/classes路径下-->
    
<target name="compile" depends="clean">
       
<mkdir dir="${classes}"/>

       
<javac srcdir="src" destdir="${classes}"/>
    
</target>

    
<!-- 打war包-->
    
<target name="war" depends="compile">
<war destfile="${build}/antwebproject.war" webxml="WebRoot/WEB-INF/web.xml">
           
<!-- 拷贝WebRoot下除了WEB-INF和META-INF的两个文件夹-->
    
<fileset dir="WebRoot" includes="**/*.jsp"/>

           
<!-- 拷贝lib目录下的jar包-->
           
<lib dir="${lib}"/>
           
<!-- 拷贝build/classes下的class文件-->
           
<classesdir="${classes}"/>
       
</war>
    
</target>
</project>
运行该build文件,更新目录后,可看到在build目录下生成了antwebproject.war文件,解开后可看到其目录结构如下:

--META-INF

     --MANIFEST.MF

--index.jsp

--WEB-INF

     --lib

            --log4j-1.2.9.jar

     --classes

            --HelloWorld.class

     --web.xml

分享到:
评论

相关推荐

    ANT使用指南ANT使用指南

    ### ANT使用指南详解 #### 一、导言 Apache Ant 是一款开源的Java构建工具,类似于传统的Unix Make工具。Ant采用XML格式来定义构建过程,提供了丰富的任务(task)集合,适用于自动化编译、测试和部署Java应用程序。...

    Ant参考教程,Ant使用指南,Ant全攻略

    "Ant十五大最佳实践.doc"则可能总结了经验丰富的开发者在使用Ant时总结的一些技巧和建议,比如合理组织构建文件,使用变量和属性来减少重复,保持构建文件的简洁性,以及利用Ant的条件和循环结构来优化构建过程。...

    Ant使用指南.rar

    总结来说,Ant是一个强大的Java构建工具,通过XML配置文件实现构建过程的自动化。了解并熟练掌握Ant的使用,能极大地提升Java开发者的项目管理和构建效率。这份“Ant使用指南”将深入浅出地讲解Ant的各种特性和用法...

    ant工具使用指南ant工具使用指南

    总结,Ant作为Java开发中的构建工具,其强大在于灵活性和可扩展性。通过理解并掌握Ant的基本概念和常用任务,开发者可以自定义构建流程,提高开发效率。无论是小型项目还是大型企业级应用,Ant都能提供有力的支持。...

    ant使用手册ANT使用指南

    ### ant使用手册ANT使用指南 #### 一、引言 Ant是一种流行的开源构建工具,用于自动化软件项目的构建过程。尤其适用于Java项目,但它也可以用于非Java项目。由于Ant的灵活性和易用性,它在Java开发者社区中迅速...

    ant ant ant ant

    "Ant ant ant antant ant ant antant ant ant ant" 这个描述可能是在强调Ant在项目构建过程中的重复性和不可或缺性,暗示着它在工程中的频繁使用和核心地位。 Ant的设计理念是“一切都是XML”,它通过XML格式的构建...

    ant工具的基本使用

    ### ant工具的基本使用 在Java开发领域,Ant作为一款开源的构建工具,因其卓越的跨平台性和基于XML的配置灵活性而备受青睐。本文旨在深入解析Ant的安装配置、基础操作及部分高级应用,帮助读者全面掌握这一强大的...

    Ant使用指南(适合初学者)

    总结,Ant是Java开发者的重要工具,掌握Ant的使用能够提高开发效率,简化项目管理。通过了解Ant的基本结构、任务和属性,初学者可以快速上手,并根据项目的具体需求进行定制。同时,理解Ant与其他构建工具(如Maven...

    Ant构建中使用JS脚本方法

    总结来说,Ant结合JavaScript脚本提供了一种强大的方式来定制和扩展构建过程,尤其适合处理项目中的特殊需求。通过熟练掌握这一技巧,开发者能够更有效地管理和自动化他们的Java项目,提高开发效率,减少手动操作...

    apache-ant-1.6.5-bin.zip_ ant 1.6.5_ant_ant-1.6.5_apache ant win

    总结起来,Apache Ant 1.6.5是一个为Java项目提供构建功能的工具,尤其适用于Windows平台。通过解压缩此ZIP文件并配置环境变量,用户可以利用Ant执行各种项目构建任务。详细的使用方法和特性可通过提供的readme.txt...

    ANT使用详细总结与心得

    《ANT使用详细总结与心得》 ANT,全称Apache Ant,是一个Java库和命令行工具,其任务是驱动构建过程。它的设计目标是推动软件项目的构建过程自动化,尤其是在Java环境中。ANT以其灵活性和可扩展性著称,通过XML格式...

    ant使用最简单的实例

    总结一下,Ant是一个强大的Java项目构建工具,其核心在于XML格式的构建文件,它定义了项目的构建步骤和依赖。这个最简单的实例展示了如何用Ant编译源代码、创建JAR文件以及清理构建产物。掌握Ant的基本使用,能帮助...

    Ant 使用笔记

    Ant使用小结 用Ant完成生成javadoc的任务 ...

    Ant详细配置总结

    ### Ant详细配置总结 #### 一、Ant简介与特点 Ant是Apache旗下的一款强大的构建工具,主要用于Java项目的自动化构建过程,如编译、测试、打包、部署等操作。它的核心优势在于其高度的可定制性和灵活性,使得开发者...

    ant使用源代码

    这个任务可能使用Ant的内置`&lt;echoproperties&gt;`任务显示当前项目的属性,或者自定义脚本输出帮助文本。 3. `jar`任务:Ant提供了强大的打包功能,`&lt;jar&gt;`任务就是其中之一。它用于将编译后的类文件打包成JAR(Java ...

    ANT使用指南

    ### ANT使用指南详解 #### 什么是ANT? Ant是一款开源的Java构建工具,它与传统的Make工具相似,但专为Java应用程序设计。Ant采用XML来描述构建过程,这使得跨平台的构建过程更加容易管理和维护。Ant的核心优势...

Global site tag (gtag.js) - Google Analytics