背景

自从有了 Maven 以后,Ant 视乎就不流行了,不过 Ant 还是有其应用场景的,Ant 的思想比较简洁,如下:

  1. 一个 project 包含多个 target(类似成员方法)。
  2. 一个 target 包含多个 task(类似语句)。
  3. project 中可以声明 property(类似成员变量)。
  4. project 中可以声明 path (特殊的成员变量)。
  5. target 可以声明其 depends。

示例

build.xml

 <?xml version="1.0" encoding="utf-8"?>
<project name="02-ant" basedir="." default="help">
<property name="src" value="src" />
<property name="classes" value="bin" />
<property name="output" value="output" /> <path id="classpath">
<pathelement path="${classes}" />
</path> <target name="help" description="帮助">
<echo>help - 帮助</echo>
<echo>compile - 编译</echo>
<echo>run - 运行</echo>
<echo>build - 打包</echo>
<echo>clean - 清理</echo>
</target> <target name="compile" description="编译">
<delete dir="${classes}" />
<mkdir dir="${classes}" />
<javac srcdir="${src}" destdir="${classes}" debug="true" includeantruntime="false">
<classpath refid="classpath" />
</javac>
</target> <target name="run" description="运行" depends="compile">
<java classname="Program" fork="yes">
<classpath refid="classpath" />
<arg line="段光伟" />
</java>
</target> <target name="build" description="打包" depends="compile">
<delete dir="${output}" />
<mkdir dir="${output}" />
<jar destfile="${output}/app.jar" basedir="${classes}" includes="**/*.class">
<manifest>
<attribute name="Main-Class" value="Program"/>
<attribute name="Class-Path" value="${classes}"/>
<attribute name="classpath" value="${classes}"/>
</manifest>
</jar>
</target> <target name="clean" description="清理">
<delete dir="${classes}" />
<delete dir="${output}" />
</target> </project>

目录结构

运行结果

备注

很多非 Java 环境都使用了 Ant,如:ExtJs 提供的工具。

Ant:Ant 入门的更多相关文章

  1. Archive for required library: 'E:/repository/org/apache/ant/ant/1.7.1/ant-1.7.1.jar' in project 'test02' cannot be read or is not a valid ZIP file

    Archive for required library: 'E:/repository/org/apache/ant/ant/1.7.1/ant-1.7.1.jar' in project 'tes ...

  2. Ant快速入门(四)-----Ant的任务(Task)

    到目前为止,我们已经掌握了Ant生成文件的基本结构,以及<project.../>,<target.../>,<property.../>等元素的配置方式.而< ...

  3. Ant快速入门(三)-----定义生成文件

    适应Ant的关键就是编写生成文件,生成文件定义了该项目的各个生成任务(以target来表示,每个target表示一个生成任务),并定义生成任务之间的依赖关系. Ant生成文件的默认名为build.xm ...

  4. Ant快速入门(二)-----使用Ant工具

    使用Ant非常简单,当正确安装Ant后,只要输入ant或ant.bat即可. 如果运行ant命令时没有指定任何参数,Ant会在当前目录下搜索build.xml文件.如果找到了就以该文件作为生成文件,并 ...

  5. Ant快速入门(一)-----Ant介绍

    Ant是一种基于Java的生成工具.从作用上来看,它类似于C编程(UNIX平台上使用比较多)的Make工具,C/C++项目经常使用Make工具来管理整个项目的编译,生成 Make使用Shell命令来定 ...

  6. ant的入门 配置与安装

    最近需要用ant来生成文件,java类.我才开始了解了这个工具.仔细看了一下,感觉这个小工具的强大功能. 博主也是初学者,在网上收集了资料,尝试了配置:感觉有些高手写得不错变引用之. 配置如下: 以上 ...

  7. Ant 初级入门

    一.Ant简介 Ant是一个Apache基金会下的跨平台的构件工具. 由于Ant是基于Java的,所以需要Java环境的支持,也就是配置好 JAVA_HOME 和 ANT_HOME 环境变量分别指向J ...

  8. Vue(九)使用Ant Design入门——环境搭建

    安装 npm install ant-design-vue --save 然后在main.js里面引入 import ant from 'ant-design-vue' import 'ant-des ...

  9. [Ant]Ant简易教程

    前言 Apache Ant,是一个将软件编译.测试.部署等步骤联系在一起加以自动化的一个工具,大多用于Java环境中的软件开发.由Apache软件基金会所提供. Ant是纯Java语言编写的,所以具有 ...

  10. Ant——ant的使用

    ---------------------------------------------------------------------------------------------------- ...

随机推荐

  1. POJ 1392 Ouroboros Snake(数位欧拉)

    题目链接:http://poj.org/problem?id=1392 题目大意:题意看的我头痛,其实跟HDU2894差不多,但是这题要求输出这条路径上第k个数,而不是输出路径. 解题思路:也跟HDU ...

  2. Hadoop2.5.2 安装部署

    0x00 平台环境 OS: CentOS-6.5-x86_64 JDK: jdk-8u111-linux-x64 Hadoop: hadoop-2.5.2 0x01 操作系统基本设置 1.1 网络配置 ...

  3. 猜数字游戏的提示(UVa340)

    题目具体描述见:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_prob ...

  4. ffmpeg 编译graph2dot

    cd ffmpeg ./configure make make tools/graph2dot

  5. Linq简单使用

    简单使用 from子查询 关联多个数据源 分组 let 子句 查询对象(上例中为list变量)为IEnumerable<T>或IQueryable<T>类型 查询返回结果同样为 ...

  6. Vue路由开启keep-alive缓存页面

    mode:hash模式下: HTML部分: <template> <div id="app"> <keep-alive> <!--使用ke ...

  7. XV6操作系统代码阅读心得(四):虚拟内存

    本文将会详细介绍Xv6操作系统中虚拟内存的初始化过程. 基本概念 32位X86体系结构采用二级页表来管理虚拟内存.之所以使用二级页表, 是为了节省页表所占用的内存,因为没有内存映射的二级页表可以不用分 ...

  8. javascript中Date对象的应用

    前面的话 简易日历作为javascript中Date对象的常见应用,用途较广泛.本文将详细说明简易日历的实现思路 效果演示 HTML说明 使用type=number的两个input分别作为年和月的输入 ...

  9. Hibernate 单项一对多的关联映射

    在上一篇中我们简单介绍了多对一的关联映射,本文介绍hibernate中一对多的关联映射. 1.设计表结构 虽然关联关系由多对一变为一对多,但是我们表结构不会发生改变,只是指向变了. 2.创建stude ...

  10. BZOJ 4516: [Sdoi2016]生成魔咒 后缀自动机 性质

    http://www.lydsy.com/JudgeOnline/problem.php?id=4516 http://blog.csdn.net/doyouseeman/article/detail ...