Ant构建工具知识概括
Posted GeorgeLin98
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Ant构建工具知识概括相关的知识,希望对你有一定的参考价值。
构建工具对比
Maven和Ant对比:
- 相同点:都是项目构建管理工具。
- 不同点有:
①Maven约定了目录结构,而Ant没有。
②Maven是申明式的,用pom.xml文件;而Ant是程序式的,构建过程需要自定义,用builder.xml.
③Maven是有生命周期的,而Ant没有。
④Maven内置依赖管理和Repository来实现依赖的管理和统一存储;而Ant没有。Maven第一次install的时候会把依赖的jar包和构件从远处库(又叫中央库,http://repol.maven.org/maven2,统一存储maven可以解释的文件资源)下载到本地库(先从本地仓库找)。Maven还可以管理传递依赖。
⑤Maven配置比较简单,有很多的约定、规范、标准,可以用较少的代码干更多的事;而Ant配置比较麻烦,需要配置整个构建的过程(但Ant配置灵活)。
Make与Ant对比:
- make:源代码变成可执行文件的过程叫做编译(compile);编译的顺序(先编译这个还是先编译那个)叫做构建(build);make就是一个根据指定的shell命令进行构建的工具.使用make命令,需要编写由shell命令组成的构建文件,即makefile.
- Ant:Ant是apache基金会中的一个子项目,是一个java语言编写的跨平台的项目构建工具,构建时需要一个xml格式的构建文件,默认为build.xml.
Ant简介
Ant简介:
- 什么是Ant:Ant是一种基于Java和XML的构建(build)工具。
- 什么是构建:形象来说,差不多是把代码从某个地方拿过来,进行编译后再拷贝到某个地方去,等等操作
- ant的好处:
①跨平台–因为ant是使用java实现的,所以它跨平台
②使用简单–与ant的兄弟make比起来
③语法清晰–同样是和make相比
④功能强大–ant能做的事情很多,可能你用了很久,你仍然不知道它能有多少功能。当你自己开发一些ant插件的时候,你会发现它更多的功能。 - ant的兄弟make:ant做的很多事情,大部分是曾经有一个叫make的所做的,不过对象不同,make更多应用于c/c++ ,ant更多应用于Java。当然这不是一定的,但大部分人如此。
- 链接:
①在intellij IDE中使用Ant
②Apache Ant对决Make:实战Java构建工具
环境配置:
- 安装jdk和intellij IDE。
- 下载Ant:
①将下载的压缩包解压到一个比较简单的路径
②链接:下载Ant的地址述 - 在环境变量中配置变量ANT_HOME,值为H:\\apache-ant-1.7.1;在Path中添加:%ANT_HOME%\\bin;
- 验证Ant是否安装成功,开始–>运行–>cmd,进入命令行–>键入 ant -version回车,如图,便表示Ant配置完成。
Ant的Demo例子:
- 写一个简单的HelloWorld程序
- 要运行Ant需要有一个build.xml,名字可以换成别的,但建议就用build。
①可以直接到工程文件下新建一个build.xml,刚开始这个xml文件旁边没有小蚂蚁图标,需要按照如图操作,点击intellij IDE右边菜单有个Ant Build小蚂蚁图标,点击后,再点击+,将我们新建的build.xml添加到Ant Build,之后,build.xml旁边就会出现小蚂蚁图标。 - 编写build.xml的内容
<?xml version="1.0" encoding="UTF-8" ?>
<!--build.xml中的第一句话,没有实际的意义-->
<!--Ant的所有内容必须包含在<project></project>里面,name是你给它取的名字,basedir指工作的根目录,.代表当前目录,default代表默认要做的事情。-->
<project name="HelloWorld" default="run" basedir=".">
<!--<property />设置变量-->
<property name="src" value="src"/>
<property name="dest" value="classes"/>
<property name="hello_jar" value="hello1.jar"/>
<!--每个target代表你想做的操作,给这个操作命名,及name值,depends是它所依赖的target在执行这个target,例如这里的compile之前ant会先检查init是否曾经被执行过,如果执行
过则直接直接执行compile,如果没有则会先执行它依赖的target例如这里的init,然后在执行这个target-->
<!--新建文件夹-->
<target name="init">
<mkdir dir="${dest}"/>
</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="HelloWorld" classpath="${hello_jar}"/>
</target>
<!--删除生成的文件-->
<target name="clean" depends="run">
<delete dir="${dest}"/>
<delete file="${hello_jar}"/>
</target>
<target name="rerun" depends="clean,run">
<ant target="clean" />
<ant target="run" />
</target>
</project>
- 在intellij IDE里面按如下操作(运行),可以运行build.xml,可以看到生成的jar包。
Idea中Ant的其他操作:
- 通过工具栏打开Ant配置页
- 我们将路径定位到Ant的安装目录既可:
- 执行Ant既可,或者执行某个指定的target:
- 我们可以在message下的Ant Build查看执行结果:
以上是关于Ant构建工具知识概括的主要内容,如果未能解决你的问题,请参考以下文章