背景

自从有了 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. Python股票信息抓取(二)

    在一的基础上,想着把所有的折线图放在一个图中,然后图的结果如图所示: 不是略丑,是很丑~ 依然的单进程,只是将图标结果放在了一张图里 代码如下: #-*-coding:utf-8 -*- import ...

  2. Java容器---Collection接口中的共有方法

    1.Collection 接口 (1)Collection的超级接口是Iterable (2)Collection常用的子对象有:Map.List.Set.Queue. 右图中实现黑框的ArrayLi ...

  3. Python+Selenium 自动化实现实例-单元测试报告

    代码如下: # -*- coding: utf-8 -*- from selenium import webdriver import unittest,time import HTMLTestRun ...

  4. css 资料链接

    https://tink.gitbooks.io/fe-collections/content/ch03-css/float.html https://css-tricks.com/almanac/p ...

  5. HTML5 Canvas 初探

    仅仅只是一个简单的hello world. js代码很简单: <!DOCTYPE HTML> <html lang="cn"> <head> & ...

  6. 【C#】线程问题

    多线程编程对很多程序员来说并不容易,在启动访问相同数据的多个线程时,会间歇性地遇到难以发现的问题.如果使用任务.并行LINQ或Parallel类,也会遇到这些问题.为了避免这一系列问题,开发程序中必须 ...

  7. 在ESP分区新建win10引导

    之前脑抽把win10的引导给删了,百度了很久看到很多办法但在我这里总是不能解决,后来总算在google里搜到了一个方法重建了win10 的引导 之前经历的方法有 使用win10USB启动盘启动电脑后选 ...

  8. YAHOO 35条前端优化建议(转)

    Yahoo!的 Exceptional Performance团队为改善 Web性能带来最佳实践.他们为此进行了一系列的实验.开发了各种工具.写了大量的文章和博客并在各种会议上参与探讨.总结出了一系列 ...

  9. chakra在vs2017中编译出现的问题

    转:http://blog.csdn.net/ink_cherry/article/details/73437981 1.无法找到vs2010生成工具 MSB8020 无法找到 Visual Stud ...

  10. 初识JVM

    做了这么久的开发,到目前为止对JVM也只是一些简单的概念上的理解,正好周末于是将JVM的学习提上日程. JVM 概念 JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是 ...