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 ...
随机推荐
- Scrapy选择器的用法
1.构造选择器: >>> response = HtmlResponse(url='http://example.com', body=body) >>> Sele ...
- codevs 1006 等差数列
提交地址:http://codevs.cn/problem/1006/ 1006 等差数列 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题目描述 Des ...
- [PA 2014]Lustra
Description Byteasar公司专门外包生产带有镜子的衣柜.刚刚举行的招标会上,有n个工厂参加竞标.所有镜子都是长方形的,每个工厂能够制造的镜子都有其各自的最大.最小宽度和最大.最小高度. ...
- 生物分子gene
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAswAAAHoCAYAAABdBLmnAAAgAElEQVR4nOzdB5gsRfU+/kZyTiIgCJ
- codeforces 842D Vitya and Strange Lesson
题目大意: 定义mex数为数组中第一个没有出现的非负整数.有m个操作,每个操作有一个x,将数组中所有的元素都异或x,然后询问当前的mex Input First line contains two i ...
- 2015 多校联赛 ——HDU5416(异或)
CRB has a tree, whose vertices are labeled by 1, 2, …, N. They are connected by N – 1 edges. Each ed ...
- dp之背包总结篇
//新手DP学习中 = =!! 前言:背包问题在dp中可以说是经典,作为一个acmer,到现在才正式学习dp,可以说是比较失败的.我个人比较认同一点,想要做一个比较成功的acmer,dp.搜索.数学必 ...
- bzoj 4710: [Jsoi2011]分特产
Description JYY 带队参加了若干场ACM/ICPC 比赛,带回了许多土特产,要分给实验室的同学们. JYY 想知道,把这些特产分给N 个同学,一共有多少种不同的分法?当然,JYY 不希望 ...
- [bzoj4161]Shlw loves matrix I
来自FallDream的博客,未经允许,请勿转载,谢谢. 给定数列 {hn}前k项,其后每一项满足 hn = a1*h(n-1) + a2*h(n-2) + ... + ak*h(n-k) 其中 a1 ...
- 华科机考:a+b
时间限制:1秒空间限制:32768K 题目描述 计算a+b的和 每行包行两个整数a和b 对于每行输入对应输出一行a和b的和 输入 1 5 输出 6 吐槽:这尼玛是机考题? 代码: #include & ...