`

Ant入门

阅读更多

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入门-ant入门pdf

    《Ant入门》是一本专为初学者设计的电子书,主要涵盖了Apache Ant这一构建工具的基础知识和使用方法。Ant是Java开发中广泛使用的自动化构建工具,由Apache软件基金会开发,其设计目标是简化项目构建过程,使开发者...

    Ant 入门资料(完整版)

    这个"Ant入门资料(完整版)"包含了丰富的学习资源,帮助初学者快速掌握Ant的基本概念、用法以及实际应用。 《JUnitAnt_Simp(中文).CHM》:这是一部关于Ant和JUnit的中文手册,JUnit是Java编程语言中的一个单元...

    ant入门小实例练习

    在“ant入门小实例练习”中,我们可以探索Ant的基本用法和核心概念。首先,你需要了解Ant的配置文件`build.xml`,这是整个构建过程的蓝图,定义了一系列的构建目标和任务。每个目标是由一系列的任务(tasks)组成的...

    初学者ant入门级小实例

    以上就是Ant入门的一些基本知识点,通过这个“myant01”实例,你可以动手实践这些概念,逐步熟悉Ant的工作方式。随着经验的积累,你会发现Ant是一个强大且灵活的构建工具,能够满足各种复杂的项目构建需求。

    ant入门资料.快速上手

    ### Ant入门资料:快速上手 #### 一、Ant简介 **1.1 什么是Ant** Apache Ant 是一个Java环境下的构建工具,主要用于自动化编译、测试、部署等任务。它采用XML格式来定义构建过程,使开发者能够通过简单的配置文件...

    ant入门教程,适合初学者

    Ant 入门教程 Ant 是一种基于 Java 和 XML 的 build 工具,在软件开发中发挥着重要作用。本教程旨在为初学者提供一个系统的 Ant 入门指南,涵盖了 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使用指南-Ant入门手册 #### 一、Ant是什么? Apache Ant 是一款开源的 Java 构建工具,它的名字来源于“Another Neat Tool”的首字母缩写。Ant 能够帮助开发者自动化构建过程,包括编译源代码、运行测试、...

    Ant 入门

    NULL 博文链接:https://teddywang.iteye.com/blog/722248

    ant入门书籍 ant使用指南

    ant入门书籍,带你走入ant的世界。ant使用指南,工具介绍

    Ant入门与进阶

    这个"Ant入门与进阶"的主题涵盖了从初识Ant到深入掌握其高级特性的全过程,对于Java开发者来说,这是一个至关重要的工具,因为它是构建Java项目的主要方式之一。 Ant的名称来源于“蚂蚁”,寓意其能够像蚂蚁一样...

    Ant_的最完整build.xml解释,Ant入门与进阶

    《Ant的最完整build.xml解释:Ant入门与进阶》 Ant,作为Java世界中的一个构建工具,由Apache软件基金会开发,是项目管理和自动化构建的重要工具。它通过XML定义的build.xml文件,来描述项目的构建过程,包括编译、...

    ant入门编写例子,非常简单实效哦

    标题“ant入门编写例子,非常简单实效哦”指的是这篇内容将向初学者展示如何使用Ant进行基本的项目构建。Ant的入门通常包括创建build.xml文件,设置项目属性,定义任务,以及引入依赖等步骤。这个例子可能是为了帮助...

    Ant 入门讲解视频

    Ant是Apache软件基金会下的一个...通过观看"Ant入门讲解视频",你可以进一步了解Ant的使用方法和实践案例,结合文档`Ant 入门讲解视频(22分03秒).doc`深入学习,配合`ant.exe`进行实际操作,快速掌握Ant的基本技能。

Global site tag (gtag.js) - Google Analytics