Ant学习笔记(一)-Ant入门

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/madman0621/article/details/76861845

一、概述

  ant 是一个将软件编译、测试、部署等步骤联系在一起加以自动化的一个工具,大多用于Java环境中的软件开发。在实际软件开发中,有很多地方可以用到ant。

开发环境:

System:Windows
JDK:1.7+
IDE:eclipse
ant:1.9.9

二、优点

ant 是Apache软件基金会JAKARTA目录中的一个子项目,它有以下的优点:

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

2、操作简单:Ant是由一个内置任务和可选任务组成的,用ant任务就像是在dos中写命令行一样。Ant运行时需要一个XML文件(构建文件)。 Ant通过调用target树,就可以执行各种task。每个task实现了特定接口对象。

3、维护简单、可读性好、集成简单:由于Ant构建文件时XML格式的文件,所以很容易维护和书写,而且结构很清晰。Ant可以集成到开发环境中。由于Ant的跨平台性和操作简单的特点,它很容易集成到一些开发环境中去。

三、安装和配置

1、下载anthttp://ant.apache.org/bindownload.cgi

2、解压zip压缩包,将压缩包放置你要放置的目录。我这里放置在H:\Ant\apache-ant-1.9.9-bin\apache-ant-1.9.9,目录结构如下:
这里写图片描述

1)、bin是ant的程序运行入口,如果没有配置ANT_HOME的情况下,可以通过bin目录中的bat程序进行运行build任务。

  如:在cmd中运行ant.bat就可以执行程序,当然你选择要当前目录中存在一个build.xml(build.xml是默认的ant执行文件,当然你可以指定其他文件)
这里写图片描述

2)、etc目录中存放的都是一些xsl的输出模板,创建一个加强的导出各种任务的XML输出,使你的build文件摆脱过时的警告

3)、lib目录中存放的是ant程序需要依赖的jar包

4)、manual目录是ant程序的帮助文档

3、在我的电脑 –> 右键属性 –> 高级系统配置 -> 环境变量中配置ant

1)、新建系统变量 ANT_HOME = H:\Ant\apache-ant-1.9.9-bin\apache-ant-1.9.9
这里写图片描述

2)、在Path系统变量里面添加”;%ANT_HOME%\bin;”
这里写图片描述

这样环境变量就配置好了,但前提你需要配置jdk的环境变量。如果你没有配置jdk的环境变量,那么请你先配置好jdk变量。

四、测试ant

在启动,运行cmd的dos窗口中输入ant,如图:
这里写图片描述

如果出现这个,那么恭喜你安装成功了!否则就失败了,检查下前面的步骤有没有错误。

如果安装失败,你看看是否存在一些情况:
1、没有配置JAVA_HOME 或配置错误,并且JAVA_HOME\bin\java.exe存在
2、没有配置ANT_HOEM 或配置错误,并且ANT_HOME\bin\ant.bat存在
3、检查你的环境变量的path变量中,有木有配置”;%ANT_HOME%\bin;”

五、ant的运行时环境

  ant在运行命令的时候,有时候会出现一些公共的jar库。这些库会存在于每个ant工程中,那么这个时候我们可以把这个jar包放到ant_home\lib目录中作为全局的库使用。

如果你不想“污染”原始的ant程序,那么你可以把jar包放在当前windows用户的目录下,具体位置应该是${user.home}/.ant/lib 下。没有以上目录可以手动建立。

如果你只是临时要添加lib,又不想把lib添加到当前ant工程中。你可以在运行ant程序的时候指定依赖的lib参数。
这里写图片描述
同时,你还可以在当前build工程的classpath目录中添加你的工程依赖jar包。

六、ant命令
这里写图片描述

语法元素说明如下:

-help 
    显示描述ant 命令及其选项的帮助信息 

-projecthelp 
    显示包含在构建文件中的、所有用户编写的帮助文档。即为各个<target>中description 属性的文本,以及包含在<description>元素中的任何文本。将有description 属性的目标列为主目标(Main target),没有此属性的目标则列为子目标(Subtarget)。 

-version 
    要求ant显示其版本信息,然后退出。

-quiet 
    抑制并非由构建文件中的echo任务所产生的大多数消息。 

-verbose 
    显示构建过程中每个操作的详细消息。此选项与-debug 选项只能选其一。

-debug 
    显示Ant和任务开发人员已经标志为调试消息的消息。此选项与-verbose 只能选其一。 

-emacs 
    对日志消息进行格式化,使它们能够很容易地由Emacs 的shell 模式(shellmode)所解析;也就是说,打印任务事件,但并不缩排,在其之前也没有[taskname]。

-logfile filename 
    将日志输出重定向到指定文件。

-logger classname 
    指定一个类来处理Ant的日志记录。所指定的类必须实现了org.apache.tools.ant.BuildLogger 接口。

-listener classname 
    为Ant 声明一个监听类,并增加到其监听者列表中。在Ant与IDE或其他Java程序集成时,此选项非常有用。必须将所指定的监听类编写为可以处理Ant 的构建消息接发。

-buildfile filename 
    指定Ant 需要处理的构建文件。默认的构建文件为build.xml。 

-Dproperty=value 
    在命令行上定义一个特性名-值对。 

-find filename 
    指定Ant 应当处理的构建文件。与-buildfile 选项不同,如果所指定文件在当前目录中未找到,-find 就要求Ant 在其父目录中再进行搜索。这种搜索会继续在其祖先目录中进行,直至达到文件系统的根为止,在此如果文件还未找到,则构建失败。 

-atuoproxy jdk1.5以上的可以使用代理设置

-nouserlib 运行ant时不使用用户lib中的jar包

-nice 设计主线程优先级

-logfile 使用指定的log日志

-noinput 不允许交互输入

-keep-going, -k 执行不依赖于所有目标

-propertyfile 加载所有属性配置文件 -d 属性文件优先

七、Ant构建文件与执行

<project default="all">
    <property name="pro_a" value="a value" />
    <property name="pro_b" value="b value" />

    <path id="rt.path">
        <pathelement location="${java.home}/jre/lib/rt.jar" />
    </path>

    <target name="all">
        <javac srcdir=".">
            <classpath refid="a.path" />
        </javac>
    </target>
</project>

注意:

● 所有构建文件都要有元素,而且至少有一个 元素。

● 对于 元素的default 属性并不一定需要默认值。

● 构建文件并不一定要被命名为build.xml。不过build.xml 是ant 要搜索的默认文件名。

● 每个构建文件只能有一个 元素。

执行Ant构建文件:

在cmd窗口中进入到当前build.xml目录

ant 
在当前目录下的build.xml运行Ant,执行缺省的target。

ant -buildfile build-test.xml 
在当前目录下的build-test.xml运行Ant,执行缺省的target。

ant -buildfile build-test.xml clean 
在当前目录下的build-test.xml运行Ant,执行一个叫做clean的target。

ant -buildfile build-test.xml -Dbuild=build/classes clean 
在当前目录下的build-test.xml运行Ant,执行一个叫做clean的target,并设定build属性的值为build/classes。

猜你喜欢

转载自blog.csdn.net/madman0621/article/details/76861845
ANT