ant的讲解
来源:互联网 发布:2017年新出的网络剧 编辑:程序博客网 时间:2024/04/30 12:12
ant是构建工具 相似的工具就是:maven 、gradle、make等等。
2、什么是构建
概念到处可查到,形象来说,你要把代码从某个地方拿来,编译,再拷贝到某个地方去等等操作,当然不仅与此,但是主要用来干这个。
(代码文件进行集合、编译、运行、安装等等工作)
3,ant的好处 和make来对比
跨平台 、 使用简单、语法清晰、功能强大。
make更多应用于c/c++ ,ant更多应用于Java。
二、ant的实例应用
目标:
编写一些程序
编译它们
把它打包成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(创建一个xml文件,不一定去这个名字)。
//build.xml代码
<?xml version="1.0" encoding="UTF-8" ?> //版本
<project name="HelloWorld" default="run" basedir=".">
//name 取得名字 , basedir 工作的根目录,“.” 代表当前目录 default代表默认要做的事情,这里是要执行。
<property name="src" value="src"/>
//类似程序中的变量,就是build.xml中文件的属性
<property name="dest" value="classes"/>
<property name="hello_jar" value="hello1.jar"/>
<target name="init">
<mkdir dir="${dest}"/>
</target>
//初始化的时候,直接将目录设置为当前的文件,这样ant生成的文件就在目标的目录下,所以我们可以不用拷贝的操作
<target name="compile" depends="init">
<javac srcdir="${src}" destdir="${dest}"/>
</target>
//想做的每一件事情都是写成一个target ,depends 是它所依赖的target
执行compile的target之前,先执行了init,再执行compile;
若是没有知心init,就会执行依赖限制性init。
<target name="build" depends="compile">
<jar jarfile="${hello_jar}" basedir="${dest}"/>
</target>
//建立一个jar的包,依赖是先编译
<target name="run" depends="build">
<java classname="test.ant.HelloWorld" classpath="${hello_jar}"/>
</target>
//运行,先要有建立打包成jar的包
<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>
ps:
<project name="HelloWorld" default="run" basedir=".">
</project>
ant的所有内容必须包含在这个里边。
为了不用拷贝,我们可以在最开始定义好目标文件夹,这样ant直接把结果就放在目标文件夹中了
<target name="init">
<mkdir dir="${dest}"/>
</target>
注意目录的存放
(相应的截图)
在.xml文件的目录下执行ant target name (这里是:ant build) 命令就好。
代码:
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="hello1.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>
package test.ant; public class HelloWorld{public static void main(String[] args){ System.out.println("Hello world1");}};
总结:上面可以知道,我们使用ant实现了集成的类文件进行编译和执行。
却是和make是很相似,make在c++中经常也是使用来进行编译和安装。
什么情况使用ant?即为使用ant比eclipse+其他组合便利。优点
1,服务器上部署的时候
由于ant小巧,将写好的build.xml到任何一台服务器上,只需要做简单的修改(一些设定,例如目录),然后一两个命令完成。
2、ant是跨平台的,所以在window和linux/unix 之间的切换,使用这个配置就好。
3、服务器维护者不懂的编程,也就是简单易用。
ant的进一步的使用;
不同的模块之间进行整合和编译。
1,自己重新写一个build.xml ,这将是一个麻烦的事情
2,尽量利用他们已经写好的build.xml,减少自己的工作
参考链接:
http://www.cnblogs.com/huozhicheng/archive/2010/04/08/2533199.html
(的下半部分)
- ant 的配置讲解
- ant的讲解
- 一个Ant文件的讲解
- ant build各个指令的详细作用 ant讲解
- ant的ant任务
- EJB3.0 Ant Build.xml实例讲解
- EJB3.0 Ant Build.xml实例讲解
- EJB3.0 Ant Build.xml实例讲解
- 使用Ant打包java程序(讲解详细)
- POJ3046 Ant Counting DP 隔板法讲解 有图有真相
- Ant工具 ant的安装与配置 ant作用
- Ant工具 ant的安装与配置 ant作用
- Ant工具 ant的安装与配置 ant作用
- Ant工具 ant的安装与配置 ant作用
- [ant]非常简单的ant使用教程
- ANT 下载,ant的配法
- [ant]非常简单的ant使用教程
- ANT 下载,ant的配法
- Impala005-Impala SQL操作内部表和外部表
- xcode 7 错误:CGContextSaveGState: invalid context 0x0. If you want to see the backtrace, please set CG
- 第8周 项目2—建立链串算法库
- asp jquery ajxs json和jsonp跨域请求
- AssetDatabaseOpenHelper 数据库工具类
- ant的讲解
- 第六周项目2--建立链栈算法库
- 第七周—项目1 - 建立顺序环形队列算法库
- 顺序表
- 每天一个linux命令(33):df 命令
- 8位CRC 数据校验
- pod install速度慢 解决方案
- 一张表格让你掌握深圳无人机供应链
- android开机启动Service(小发现)