一、构建ant环境 
要使用ant首先要构建一个ant环境,步骤很简单: 
1) 安装jdk,设置JAVA_HOME ,PATH ,CLASS_PATH(这些应该是看这篇文章的人应该知道的) 
2) 下载ant 地址www.apache.org找一个你喜欢的版本,或者干脆最新的版本 
3) 解压ant 你得到的是一个压缩包,解压缩它,并把它放在一个尽量简单的目录,例如D:/ant-1.6虽然你不一 定要这么做,但这么做是有好处的。 
4) 设置ANT_HOME PATH中添加ANT_HOME目录下的bin目录 
5) 测试一下你的设置,开始-->运行-->cmd进入命令行-->键入 ant 回车,如果看到 
Buildfile: build.xml does not exist! 
Build failed
 
那么恭喜你你已经完成ant的设置

二、体验ant 
就像每个语言都有HelloWorld一样,一个最简单的应用能让人感受一下Ant 
1. 首先你要知道你要干什么,我现在想做的事情是: 
编写一些程序->编译它们->把它打包成jar包->把他们放在应该放置的地方->运行它们
这里为了简单起见只写一个程序,就是HelloWorld.java程序代码如下:

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

2. 为了达到上边的目的,你可以手动的用javac 、copy 、jar、java来完成,但是考虑一下如果你有成百上千个类,在多次调试,部署的时候,一次次的javac 、copy、jar、java那将是一份辛苦的工作。现在看看ant怎么优雅的完成它们。

要运行ant需要有一个build.xml虽然不一定要叫这个名字,但是建议你这么做 
下边就是一个完整的build.xml,然后我们来详细的解释每一句

<?xml version="1.0" encoding="UTF-8" ?>

<project name="HelloWorld" default="run" basedir=".">

         <property name="src" value="src"/>

         <property name="dest" value="classes"/>

         <property name="hello_jar" value="HelloWorld.jar"/>

         <target name="init">

                   <mkdir dir="${dest}"/>

         </target>

         <target name="compile" depends="init">

                    <javac srcdir="${src}" destdir="${dest}"/>

         </target>

         <target name="build" depends="compile">

                   <jar jarfile="${hello_jar}" basedir="${dest}"/>

         </target>

         <target name="run" depends="build">

                   <java classname="test.ant.HelloWorld" classpath="${hello_jar}"/>

         </target>

         <target name="clean">

                   <delete dir="${dest}" />

                   <delete file="${hello_jar}" />

                   </target>

         <target name="rerun" depends="clean,run">

                   <ant target="clean" />

                   <ant target="run" />

         </target>

</project>

解释: 
<?xml version="1.0" encoding="UTF-8" ?> 
build.xml中的第一句话,没有实际的意义

<project name="HelloWorld" default="run" basedir="."> 
</project> 
ant的所有内容必须包含在这个里边,name是你给它取的名字,basedir顾名思意就是工作的根目录。代表当前目录。default代表默认要做的事情。

<property name="src" value="src"/> 
类似程序中的变量,为什么这么做想一下变量的作用

<target name="compile" depends="init"> 
  <javac srcdir="${src}" destdir="${dest}"/> 
</target> 
把你想做的每一件事情写成一个target ,它有一个名字,depends是它所依赖的target,在执行这个target(例如这里的compile)之前ant会先检查init是否曾经被执行过,如果执行过则直接直接执行compile,如果没有则会先执行它依赖的target例如这里的init,然后在执行这个target

如我们的计划 
编译: 
<target name="compile" depends="init"> 
  <javac srcdir="${src}" destdir="${dest}"/> 
</target>

做jar包: 
<target name="build" depends="compile"> 
<jar jarfile="${hello_jar}" basedir="${dest}"/> 
</target> 
运行: 
<target name="run" depends="build"> 
<java classname="test.ant.HelloWorld" classpath="${hello_jar}"/> 
</target> 
为了不用拷贝,我们可以在最开始定义好目标文件夹,这样ant直接把结果就放在目标文件夹中了 
新建文件夹: 
<target name="init"> 
<mkdir dir="${dest}"/> 
</target> 
为了更多一点的功能体现,又加入了两个target 
删除生成的文件 
<target name="clean"> 
<delete dir="${dest}" /> 
<delete file="${hello_jar}" /> 
</target> 
再次运行,这里显示了如何在一个target里边调用其他的target 
<target name="rerun" depends="clean,run"> 
<ant target="clean" /> 
<ant target="run" /> 
</target>

好了,解释完成了,下边检验一下你的ant吧 
新建一个src的文件夹,然后把HelloWorld.java按照包目录放进去 
做好build.xml文件 
在命令行下键入如下命令并回车执行:

ant

你会发现一个个任务都完成了。每次更改完代码只需要再次键入ant

有的时候我们可能并不想运行程序,只想执行这些步骤中的某一两个步骤,例如我只想重新部署而不想运行,键入 
ant build

ant中的每一个任务都可以这样调用ant + target name 
好了,这样一个简单的ant任务完成了。

参考文献:

0、Ant使用指南

1、ant使用指南详细入门教程

2、Apache Ant的使用——基础使用教程

3、Ant是什么?

电子书共享:

百度网盘:

链接:https://pan.baidu.com/s/1nBPMzYa0FiXSYx9lrw2PuQ
提取码:bep0

Ant入门简单实例的更多相关文章

  1. Ant学习--简单实例入门

    步骤1.创建工程文件夹名字 F:\Helloworld 步骤2.编写java代码: package com.netease; public class Ant_test { public static ...

  2. Webservice入门简单实例

    转载大神 项目目的: 程序A调用程序B中的方法C.. https://blog.csdn.net/lovebosom/article/details/51558139                  ...

  3. Hibernate(二)__简单实例入门

    首先我们进一步理解什么是对象关系映射模型? 它将对数据库中数据的处理转化为对对象的处理.如下图所示: 入门简单实例: hiberante 可以用在 j2se 项目,也可以用在 j2ee (web项目中 ...

  4. [转]Scrapy简单入门及实例讲解

    Scrapy简单入门及实例讲解 中文文档:   http://scrapy-chs.readthedocs.io/zh_CN/0.24/ Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用 ...

  5. python从入门到大神---4、python3文件操作最最最最简单实例

    python从入门到大神---4.python3文件操作最最最最简单实例 一.总结 一句话总结: python文件操作真的很简单,直接在代码中调用文件操作的函数比如open().read(),无需引包 ...

  6. 利用navicat创建存储过程、触发器和使用游标的简单实例

    利用navicat创建存储过程.触发器和使用游标的简单实例 标签: navicat存储过程触发器mysql游标 2013-08-03 21:34 15516人阅读 评论(1) 收藏 举报  分类: 数 ...

  7. ant入门程序

    一. ant简单介绍 Ant是apache的一个核心项目, 它的作用是项目自己主动化构建, 由于它内置了Javac.Java.创建文件夹.拷贝文件等功能, 直接执行build.xml文件就能够编译我们 ...

  8. SpringMVC笔记——SSM框架搭建简单实例

    落叶枫桥 博客园 首页 新随笔 联系 订阅 管理 SpringMVC笔记——SSM框架搭建简单实例 简介 Spring+SpringMVC+MyBatis框架(SSM)是比较热门的中小型企业级项目开发 ...

  9. Struts 2简单实例

    Struts 2简单实例 参考: [java开发系列]—— struts2简单入门示例 - xingoo - 博客园https://www.cnblogs.com/xing901022/p/39616 ...

  10. SpringMVC简单实例(看起来有用)

    SpringMVC简单实例(看起来有用) 参考: SpringMVC 基础教程 简单入门实例 - CSDN博客http://blog.csdn.net/swingpyzf/article/detail ...

随机推荐

  1. 使用 KubeSphere 部署高可用 RocketMQ 集群

    作者:老Z,云原生爱好者,目前专注于云原生运维,KubeSphere Ambassador. Spring Cloud Alibaba 全家桶之 RocketMQ 是一款典型的分布式架构下的消息中间件 ...

  2. Oracle 11.2 RAC 删除节点

    软硬件环境:与上一篇文章一致: 一般对 CRS 层面数据结构做重要操作之前一定要先备份 OCR  [root@vastdata4 ~]# ocrconfig -manualbackup vastdat ...

  3. 为什么我越来越喜欢用DDD — DDD架构篇(1)

    Hello DDD DDD 是一种软件设计方法,DDD 是指导我们做软件工程设计的一种手段.它提供了用切割工程模型的各类技巧,如:领域.界限上下文.实体.值对象.聚合.工厂.仓储等.通过 DDD 的指 ...

  4. css画三角形,对角 √ 勾形

    .selected{ border-color: #5FB878; } .selected:after { content: ""; position: absolute; top ...

  5. 3.12 Linux创建文件及修改文件时间戳(touch命令)

    既然知道了如何在 Linux 系统中创建目录,接下来你可能会想在这些目录中创建一些文件,可以使用 touch 命令. 需要注意的是,touch 命令不光可以用来创建文件(当指定操作文件不存在时,该命令 ...

  6. 记录一个vscode无法ssh树莓派,但是mobaxterm可以ssh登录的问题

    一.为什么会遇到这个问题 帮别人开发一个树莓派小车的时候,买了一个新的树莓派3B,回来安装好桌面系统之后开启了ssh功能,便想开始使用vscode来ssh开发,省的后续一直要插着屏幕开发,很麻烦.但是 ...

  7. 国密SSL证书,为政务数据安全保驾护航

    随着数字化转型的加速,政务信息化建设已成为提升政府服务效率和质量的关键.近期,国家相关部门发布了<互联网政务应用安全管理规定>,为政务应用的安全管理提供了明确的规范和要求.该规定自2024 ...

  8. element-ui table 实现表格展开行每次只能展开一行

    1.table 部分 :row-key='getRowKeys':expand-row-keys="expands"@expand-change="expandSelec ...

  9. 设计一个基于 LSTM 神经网络的文本分类器

    前一篇:<用于自然语言处理的循环神经网络RNN> 序言:本节主要讲解如何使用循环神经网络(RNN)创建一个文本分类器.RNN 是一类适合处理序列数据的神经网络的统称,而我们将在本节中使用 ...

  10. Spring IOC、DI、AOP原理和实现

    (1)Spring IOC原理   IOC的意思是控件反转也就是由容器控制程序之间的关系,把控件权交给了外部容器,之前的写法,由程序代码直接操控,而现在控制权由应用代码中转到了外部容器,控制权的转移是 ...