一、构建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. NLog 在NetCore中实现多实例注入DI, 实现多租户模式

    通常, 我们在使用了 Microsoft.Extensions.DependencyInjection DI框架的情况下, 我们一般通过 .ConfigureLogging((HostBuilderC ...

  2. KubeSphere 社区征稿说明

    KubeSphere 社区一直致力于云原生技术的布道工作.通过组织线下 Meetup,线上的定期技术直播,KubeSphere 社区输出了颇多精彩的技术分享内容.此外,社区还产出了多篇优质的技术文章, ...

  3. insufficient permission for adding an object to repository database .git/objects

    1.出错截图: 有时候使用软件项目管理系统github时候,会出现一些问题截图如下: 2.出错原因 从出错的地方就知道是因为权限不足导致,回想一下,在链接远程服务器时候,不小心切换为管理员权限进行了g ...

  4. 为你的Windows用户设置无边框半透明头像

    步骤一:锁定头像 Win+R输入gpedit.msc进入组策略编辑器,按图中所示,选择"计算机管理->管理模板->用户账户设定",将里面唯一选项"对所有账户使 ...

  5. vue之计算属性computed模板

    计算属性:故名思意也是一种属性,可以用插值表达式直接调用 废话不多说,直接上代码: 页面部分 <!-- 用户名下拉菜单 --> <el-dropdown class="us ...

  6. TypeError: __init__() got an unexpected keyword argument 'XXXXXXXX'

    解决方法:安装包的版本兼容问题,更新一下安装包的版本(如果在别的机器不报错,那就把不报错的这台机器上的安装包pip freeze > requirements.txt 下来,在报错的机器上安装一 ...

  7. 一文彻底弄懂Spring IOC 依赖注入

    Spring IOC(Inversion of Control,控制反转)依赖注入是 Spring 框架的核心特性之一,旨在实现对象之间的松耦合,提升代码的可维护性.可测试性和可扩展性.下面我们将从以 ...

  8. 支持多语言、多商店的商城,.Net7 + EF7领域驱动设计架构

    推荐一个跨平台.模块化.可扩展且超快速的开源一体化电子商务平台. 01项目简介 Smartstore 支持桌面和移动平台.多语言.多商店.多货币的商城,并支持SEO优化,支持无限数量的产品和类别.报表 ...

  9. php 如何创建uuid

    传统的创建uuid的方法是自己写个函数实现随机 <?php function create_uuid($prefix="") { $chars = md5(uniqid(mt ...

  10. LDA——线性判别分析基本推导与实验

    介绍与推导 LDA是线性判别分析的英文缩写,该方法旨在通过将多维的特征映射到一维来进行类别判断.映射的方式是将数值化的样本特征与一个同维度的向量做内积,即: $y=w^Tx$ 因此,建立模型的目标就是 ...