Ant简介
Ant,apache开源项目,基于Java的构建工具,是一个小程序。它通过自动完成所有的编译代码,运行测试以及
打包重新部署等繁琐费力的任务来帮助软件团队开发大程序;
Ant的目标是自动完成所有的构建过程;
安装:
和安装JDK一样,在环境变量配置ANT_HOME;
然后在PATH加上%ANT_HOME%bin;
要求先有JDK环境,因为基于Java的构建工具,所以要先配置JDK;
配置好可以子啊控制台输入 ant -version 测试是否安装成功;
运行ant例子:
新建空文件夹;
控制台进入该文件夹;
新建a.xml :
<project name="MyProject" default="demo1"> <target name="demo1"> <echo message="hello www"/> </target> </project>
控制台输入 ant -f a.xml; (如果输入ant默认执行build.xml)
输出 [echo] hello www
ant -f a.xml demo1 : 执行a.xml 的名为demo1的target;
Ant的核心:构建文件
用来描述如何创建工程,在这个文件里,开发者列出各种构建目标以及达成这些目标的任务;配置文件默认名是
build.xml,如果自己命名如:a.xml那么在执行时用:ant -f a.xml;
重点是学习写配置文件build.xml; 下面举几个例子,了解更多可以看文档
根元素是project
1,输出信息
<!--工程--> <project name="MyProject" default="demo1"> <!--容器->相当于数据库中的事务 --> <target name="demo1"> <!--回显HelloWorld ..--> <echo message="hello www" /> <echo>my name is jerome</echo> </target> <!-- --> </project>
在控制台输入ant -f a.xml 输出信息;(有时候报错是因为文件不是utf-8,修改一个编码就可以)
2.回显属性
<!--工程--> <project name="MyProject" default="demo1"> <property name="p1" value="hello p1"></property> <!--容器->相当于数据库中的事务 --> <target name="demo1"> <!--回显HelloWorld ..--> <echo message="hello www" /> <echo>my name is jerome</echo> </target> <!--属性--> <target name="demo2"> <!--回显属性--> <echo>${p1}</echo> <!-- --> </target> </project>
控制台输入 ant -f a.xml demo2 输出hello p1;
3.拷贝 在当前文件夹新建1.txt
<!--工程--> <project name="MyProject" default="demo1"> <property name="p1" value="hello p1"></property> <!--容器->相当于数据库中的事务 --> <target name="demo1"> <!--回显HelloWorld ..--> <echo message="hello www" /> <echo>my name is jerome</echo> </target> <!--属性--> <target name="demo2"> <!--回显属性--> <echo>${p1}</echo> <!-- --> </target> <!--拷贝--> <target name="demo3"> <echo message="拷贝文件" /> <copy file="1.txt" todir="../d1" ></copy> </target> </project>
执行 ant -f a.xml demo3 ;
其实我们会发现这些命令都是dos命令;
执行一个java例子:
在src目录下新建HelloWorld.java
public class HelloWorld { public static void main(String[] args) { System.out.println("Hello world !"); } }
(可以在Eclipse新建HelloWorld然后直接拷贝过来)
配置文件修改如下:
<!--工程--> <project name="MyProject" default="run"> <!--初始化操作 新建文件夹--> <target name="init"> <!--在当前文件夹下新建文件夹build/classes--> <mkdir dir="build/classes" /> <mkdir dir="dist" /> </target> <!--编译 --> <target name="compile"> <javac srcdir="src" destdir="build/classes" /> <echo>编译完成!</echo> </target> <target name="archive" depends="compile"> <jar destfile="dist/project.jar" basedir="build/classes" /> </target> <!--删除文件夹 --> <target name="clean" depends="init"> <delete dir="build" /> <delete dir="dist" /> </target> <!--运行程序--> <target name="run" depends="compile"> <java classname="HelloWorld" classpath="build/classes"></java> </target> </project>
1, 执行前先初始化,创建文件夹:ant –f a.xml init
2, 执行 程序:运行 ant –f a.xml 成功输出:Hello world !
3, 打包成jar包: ant –f a.xml archive
4, 删除文件夹 ant –f a.xml clean
Ant简介的更多相关文章
- Apache Ant 简介和配置
Apache Ant 简介 Apache Ant是目前事实上的Java应用的标准build脚本工具.使它大受欢迎的一个主要愿意是它的和灵活,允许程序员创建自己的Task来对Ant进行扩展. ...
- Maven和Ant简介以及两者的区别
Maven 一.Maven简介 Maven是基于项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具. 目前,绝大多数开发人员都把 Ant 当作 Java 编程 ...
- ant 介绍 http://blog.csdn.net/sunjavaduke/archive/2007/03/08/1523819.aspx
转自: 本内容包含了Ant的历史简要介绍,Ant的功能以及Ant框架的介绍,并对下载安装使用Ant进行了示例介绍,同时通过一个Java程序讲解了Ant的基本使用方法. 1. Ant简介:这 ...
- Java构建工具Ant小记(一)
Ant简介 Ant是基于java的构建工具.理论上来说它类似与make工具,但是却克服了make的一些固有的缺陷. 传统的Make是基于操作系统shell的构建工具,虽然也可以基于工作的os对make ...
- Ant基本使用指南
近期碰到了其他人在讨论这个ant,已经很多人在使用,故对他进行收集资料进了解,以便方便去使用.同时,在学习struts+spring+hibernate,尤其是Appfuse的过程中大量涉及到ant的 ...
- 关于ant的使用和入门知识
入门技术 在学习struts+spring+hibernate,尤其是Appfuse的过程中大量涉及到ant的使用,因此我觉得有必要对ant做个比较深入的学习,以下是在学习过程中搜集的材料.比较详细, ...
- Ant学习总结1
一.Ant简介 Ant是用来编译/运行/测试java程序,构建.包装和发布过程中几乎每一件事都可以由Ant的任务来处理. 二.Ant管理项目 当开始一个新的项目时,首先应该编写Ant的构建文件, ...
- Ant基础知识1
1.Ant简介 Apache Ant是一个将软件编译/测试/部署等步骤联系在一起加以优化的一个构建工具,常用于java环境中的软件开发.Ant的默认配置文件是build.xml. 对java语言的支持 ...
- Ant 初级入门
一.Ant简介 Ant是一个Apache基金会下的跨平台的构件工具. 由于Ant是基于Java的,所以需要Java环境的支持,也就是配置好 JAVA_HOME 和 ANT_HOME 环境变量分别指向J ...
随机推荐
- 洛谷P2050 [NOI2012]美食节
动态加边网络流 #include<cstdio> #include<cstdlib> #include<algorithm> #include<cstring ...
- ●BZOJ 1531 [POI2005]Bank notes
题链: http://www.lydsy.com/JudgeOnline/problem.php?id=1531 题解: 单调队列优化多重背包DP (弱弱的我今天总算是把这个坑给填了...) 令V[i ...
- hdu 5392
Sample Input 2 3 1 3 2 6 2 3 4 5 6 1 Sample Output 2 6 题意:给一个转置求它的循环长度 题解:分解成循环求最小公倍数 #include< ...
- bzoj 3261最大异或和
Description 给定一个非负整数序列{a},初始长度为N. 有M个操作,有以下两种操作类型: 1.Ax:添加操作,表示在序列末尾添加一个数x,序列的长度N+1. 2.Qlrx:询问操作,你需要 ...
- poj 3525 凸多边形多大内切圆
Most Distant Point from the Sea Time Limit: 5000MS Memory Limit: 65536K Total Submissions: 4758 ...
- [bzoj4813][Cqoi2017]小Q的棋盘
来自FallDream的博客,未经允许,请勿转载,谢谢. 小Q正在设计一种棋类游戏.在小Q设计的游戏中,棋子可以放在棋盘上的格点中.某些格点之间有连线,棋子只能在有连线的格点之间移动.整个棋盘上共有V ...
- typedef的基本用法
1. 四个用途 用途一: 定义一种类型的别名,而不只是简单的宏替换.可以用作同时声明指针型的多个对象.比如: char* pa, pb; // 这多数不符合我们的意图,它只声明了一个指向字符变量的指针 ...
- Python作业之三次登陆锁定用户
作业之三次登陆锁定用户 作业要求如下: 1. 输入用户名和密码 2. 认证成功提示欢迎信息 3. 认证失败三次锁定用户 具体代码如下: 方法1: import os#导入os模块 if os.path ...
- 去掉Bootstrap fileinput缩略图上面的上传删除按钮?
- win8以上系统查看iis网站进程内存占用情况
由于win8以上系统在任务管理器中已经屏蔽了具体的IIS网站的进程,在进程以及详细中无法区分是哪个站点了,所以我们需要先知道各站点对应的进程pid,然后再到任务管理器中根据具体的pid查看资源占用情况 ...