Ant快速安装及入门

1、什么是Ant

Ant(Another neat tool)使用java编写的开源构建工具,为源码编译、单元测试、打包等任务操作提供了自动化支持,并且可以通过java写新的任务来扩建构建。

2、Ant安装

(1)Ant属于解压配置即可使用的软件

  下载解压apache-ant-1.10.5-bin.zip,例如解压到:D:/ apache-ant-1.10.5

(2)window中设置ant环境变量:

  ANT_HOME    D:/ apache-ant-1.10.5

  path                D:/ apache-ant-1.10.5/bin(或者:%ANT_HOME%\bin)

(3)开始->运行->cmd,输入如下命令:ant -v

3、Ant核心构建脚本build.xml讲解

一个构建脚本由三个基本元素组成:一个project、多个target和多个可用的task,三者之间的关系如下:

task:是一段可执行的代码,如创建一个目录或移动一个文件,Ant自带很多自定义task,用户可以使用java编写自己的task

<javac srcdir="src" destdir="dest">
<!--源代码目录和目标目录由srcdir和destdir属性配置,源代码放在src,class放在dest-->

target:target是一组task的集合,target与target可以存在依赖关系

<target name="init">
 <mkdir dir="build"/>
</target>
<!--名字为init的target使用任务mkdir创建目录build-->
<target name="compile" depends="init">
 <javac srcdir="src" destdir="build"/>
</target>
<!--名字为compile的target依赖名字为init的target,并且使用了javac任务-->

project:一个Ant构建脚本必须只能有一个project,project是Ant构建脚本的顶级元素,可包含多个target

<project>
<target name="init">
 <mkdir dir="build"/>
</target>
<target name="compile" depends="init">
 <javac srcdir="src" destdir="build"/>
</target>
</project>

4、Ant案例实战

项目目录结构(假如其中demo为D:\demo):

  1. demo
  2. |--src
  3. |----Hello.java(D:\demo\src\Hello.java)
  4. |--build.xml(D:\demo\build.xml)

hello.java 内容:

public class Hello{
	public static void main(String[] args){
		System.out.println("hello ant");
	}
}

build.xml 内容:

<project name="hello" default="dist" basedir=".">
  <!--设置全局属性,比如源代码、输出和发布目录-->
  <property name="src" location="src"/>
  <property name="build" location="build"/>
  <property name="dist" location="dist"/>
  <property name="version" value="1.0.0"/>
  <!--定义target名字为init并创建编译路径-->
  <target name="init">
     <mkdir dir="${build}"/>
  </target>
  <!--编译-->
  <target name="compile" depends="init" description="compile the source">
     <javac srcdir="${src}" destdir="${build}"/>
  </target>
  <!--打jar包-->
  <target name="dist" depends="compile" description="generate the jar">
     <mkdir dir="${dist}"/>
	 <jar jarfile="${dist}/hello-ant-${version}.jar" basedir="${build}" />
  </target>
  <!--删除编译-->
  <target name="clean" description="clean build and dist">
     <delete dir="${build}"/>
	 <delete dir="${dist}"/>
  </target>
</project>

 通过target的name可以分别指定执行ant init、ant compile、ant dist、ant clean

 执行 ant dist 由于 init  compile dist 三个tagert 之间的依赖,会依次执行如下图:

执行ant dist  后会生成一个build的目录存放编译后的文件和生成一个dist存放jar文件,目录结构如下:

  1. demo
  2. |--build
  3. |----Hello.class(D:\demo\build\Hello.class)
  4. |--dist
  5. |----hello-ant-1.0.0.jar(D:\demo\dist\hello-ant-1.0.0.jar)
  6. |--src
  7. |----Hello.java(D:\demo\src\Hello.java)
  8. |--build.xml(D:\demo\build.xml)

5、Ant优缺点总结

优点:由于Ant没有对构建定义强加任何限制,构建灵活,没有对项目目录结构有硬性规定

缺点:(1)xml标记语言构建脚本比较臃肿,当使用标记语言描述类似if/else等逻辑语句是比较困难

           (2)由于Ant没有一套默认的构建逻辑,所以不同的项目都要重复书写构建逻辑或者复制构建逻辑进行修改

           (3)Ant没有暴露构建细节,比如有多少个类编译了多少的task执行了等等

           (4)Ant本身不带依赖管理,需要与Ivy集成管理依赖

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值