Ant是Apache软件基金会的一个顶级项目。是一个构建工具,如:构建一个项目,包括源代码的编译,打包成jar文件,部署等步骤。
一、Ant的配置
1、将Ant下bin目录放到class目录下。
2、建立一个ANT-HOME,指向Ant的主目录下,即ant目录下
Ant的运行:
1、在控制台中输入 ant命令回车。就会默认寻找当前目录下的build.xml进行构建。
2、可以指定build.xml的名称。使用 ant -f mybuild.xml文件进行构建。
3、ant build.xml init 或 ant -f mybuild.xml init指定执行那个目标(target)
Ant的Builder没有自己的语法。完全依靠xml的语法。但是提供了一些能够被Ant识别的元素。
<object defult="默认执行的target"> :根标签
<target name="target的名称" depends="依赖那个target" discription="描述信息"> :目标标签
<mkdir dir="文件名称和目录"> :创建目录
<delete dir="删除文件的的路径和名称"> :删除目录
如:
<?xml version="1.0" encoding="UTF-8"?> <object default="seconde"> <target name="init"> <mkdir dir="c:\hello"/> <mkdir dit="C:\world"/> </targer> <target name="seconde" depends="init"> <delete dir="c:\hello"/> <delete dir="c:\world"/> </targer> </object>
功能如下:
Ant默认只执行seconde目标(target),而init是创建两个文件目录。seconde目标(target)依赖于init,进行删除刚才在init中创建的目录。
<description>
描述信息(项目的信息)
</description>
<!-- 注释信息 -->为了个目标添加注释信息,以添加可读性
二、属性的使用:
1、定义属性
<property name="proName" value="proValue" location="路径/file/dd"/>
2、使用属性
${proName}
如:
<object default=""> <property name="file" value="fileName"/> <target> <mkdir dir="${file}"/> </target> </object>
三、编译源代码:
<javac srcdir="src"/>
这个标签寻找src目录中以.java为后缀的所有文件,并对它们调用javac编译器,从而在相同的目录中生成类文件。当然,将类文件放在一个单独的目录结构中通常会更清晰;可以通过destdir属性来让Ant做到这点。
如:
<object name="myObject" default="myTarget"> <property name="complitFile" value="complit"/> <target name="preprocess"> <mkdir dir="${complitFile}"/> </target> <target name="myTarget"> <javac srcdir="src" descdir="${complitFile}"/> </target> </object>
其他属性:
-classpath: 等价与java的-classpath选项
-debug="true":指示编译器应该带调试信息编译源代码
四、创建一个jar文件:
<jar destfile="生成jar的名称" basedir="字节码文件的所在目录"> <manifest>指定运行类 <attribute name="Built-By" value="${user.name}"/>操作系统登录名称 <attribute name="Main-Class" value="cn.com.test.TestFram"/>mian方法类 </manifest> </jar>
五、时间戳
在生成环境中使用当前时间和日期,以某种方式标记某个生成任务的输出,以便记录它是何时生成的,这经常是可取的。这可能涉及编辑一个文件,以便插入一个字符串来指定日期和时间,或将这些信息合并到JAR或ZIP文件中。
这种需要通过简单但是非常有用的tstamp任务来解决。这个任务通常在某次生成过程开始时调用,比如在一个init目标中。这个任务不需要属性,许多情况下只需
<tstamp/>就足够。
属性:
DSTAMP日期
TSTAMP时间
TODAY当前日期
<target name="myTarget"> <tstamp></tstamp> <jar destfile="test-${DSTAMP}.java" basedir="compile"> <attribute name="Built-By" value="${user.name}"/> <attribute name="Main-Class" value="cn.com.test.TestFrame"/> </jar> </target>
六、文件系统操作
1、创建和删除目录
<mkdir dir=""/>创建目录
<delete dir="" file=""/>删除目录
2、复制和移动
<copy file="被复制的文件" tofile="目标文件" todir="目标目录"/>
<move file="被移动的文件" tofile="目标文件" todir="目标目录"/>
七、ZIP文件
<zip destfile="output.zip" basedir="output"/> <unzip src="output.tar.gz" dest="extractDir"/>
八、CVS集成
<property name="cvsRoot" value=":pserver:登录名:IP地址:仓库名称"/> <property name="destLocation" value="c:\"/> <target> <cvs cvsroot="${cvsRoot}" package="检出模块的名字" command="指定执行的命令checkout" desc="${destLocation}"/> </target>
九、替换
<replace file="文件" token="被替代的字符串" value="新值"/>
十、创建自定义的任务
1、为实现一个简单的自定义任务,我们所需做的就是扩展org.apache.tools.ant.Task类,并重写execute()方法
<taskdef name="自定义标签名称" classname="处理类" classpath="class文件路径"/> <target name="自定义标签"> <自定义标签名称 属性="" 属性=""/> </target>
下面是一个实现将input.txt文件拷贝到output.txt。
package ant; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import org.apache.tools.ant.BuildException; import org.apache.tools.ant.Task; public class TestAnt extends Task{ private File srcFile; private File destFile; @Override public void execute() throws BuildException { try { BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream(srcFile))); BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(destFile))); String line = ""; while((line = reader.readLine()) != null){ writer.write(line); writer.newLine(); } writer.close(); reader.close(); } catch (Exception e) { e.printStackTrace(); } super.execute(); } public File getSrcFile() { return srcFile; } public void setSrcFile(File srcFile) { this.srcFile = srcFile; } public File getDestFile() { return destFile; } public void setDestFile(File destFile) { this.destFile = destFile; } }
build.xml
<?xml version="1.0" encoding="UTF-8"?> <project name="myProject" basedir="." default="tag"> <taskdef name="myTag" classname="ant.TestAnt" classPath="bin"/> <target name="tag"> <myTag srcFile="input.txt" destFile="output.txt"/> </target> </project>
更多IT技术请浏览:www.hxstrive.com
相关推荐
《Ant入门》是一本专为初学者设计的电子书,主要涵盖了Apache Ant这一构建工具的基础知识和使用方法。Ant是Java开发中广泛使用的自动化构建工具,由Apache软件基金会开发,其设计目标是简化项目构建过程,使开发者...
这个"Ant入门资料(完整版)"包含了丰富的学习资源,帮助初学者快速掌握Ant的基本概念、用法以及实际应用。 《JUnitAnt_Simp(中文).CHM》:这是一部关于Ant和JUnit的中文手册,JUnit是Java编程语言中的一个单元...
在“ant入门小实例练习”中,我们可以探索Ant的基本用法和核心概念。首先,你需要了解Ant的配置文件`build.xml`,这是整个构建过程的蓝图,定义了一系列的构建目标和任务。每个目标是由一系列的任务(tasks)组成的...
以上就是Ant入门的一些基本知识点,通过这个“myant01”实例,你可以动手实践这些概念,逐步熟悉Ant的工作方式。随着经验的积累,你会发现Ant是一个强大且灵活的构建工具,能够满足各种复杂的项目构建需求。
### Ant入门资料:快速上手 #### 一、Ant简介 **1.1 什么是Ant** Apache Ant 是一个Java环境下的构建工具,主要用于自动化编译、测试、部署等任务。它采用XML格式来定义构建过程,使开发者能够通过简单的配置文件...
Ant 入门教程 Ant 是一种基于 Java 和 XML 的 build 工具,在软件开发中发挥着重要作用。本教程旨在为初学者提供一个系统的 Ant 入门指南,涵盖了 Ant 的安装、环境配置、命令解释等方面。 Ant 的安装 要使用 Ant...
ant的简单入门教程 1、ant介绍;2、ant安装;3、第一个ant脚本;4、整合ant;5、ant进阶;6、常用task;7、控制流程;8、实例分析;9、如何继续学习;10、ant使用cvs实例;11、Q&A
### Ant使用指南-Ant入门手册 #### 一、Ant是什么? Apache Ant 是一款开源的 Java 构建工具,它的名字来源于“Another Neat Tool”的首字母缩写。Ant 能够帮助开发者自动化构建过程,包括编译源代码、运行测试、...
NULL 博文链接:https://teddywang.iteye.com/blog/722248
ant入门书籍,带你走入ant的世界。ant使用指南,工具介绍
这个"Ant入门与进阶"的主题涵盖了从初识Ant到深入掌握其高级特性的全过程,对于Java开发者来说,这是一个至关重要的工具,因为它是构建Java项目的主要方式之一。 Ant的名称来源于“蚂蚁”,寓意其能够像蚂蚁一样...
《Ant的最完整build.xml解释:Ant入门与进阶》 Ant,作为Java世界中的一个构建工具,由Apache软件基金会开发,是项目管理和自动化构建的重要工具。它通过XML定义的build.xml文件,来描述项目的构建过程,包括编译、...
标题“ant入门编写例子,非常简单实效哦”指的是这篇内容将向初学者展示如何使用Ant进行基本的项目构建。Ant的入门通常包括创建build.xml文件,设置项目属性,定义任务,以及引入依赖等步骤。这个例子可能是为了帮助...
Ant是Apache软件基金会下的一个...通过观看"Ant入门讲解视频",你可以进一步了解Ant的使用方法和实践案例,结合文档`Ant 入门讲解视频(22分03秒).doc`深入学习,配合`ant.exe`进行实际操作,快速掌握Ant的基本技能。