Ant -- Another Neat Tool

时间:2023-03-09 08:32:30
Ant -- Another Neat Tool
最早用来构建著名的Tomcat,可以看成是一个Java版本的Make。也正因为使用了Java,Ant是跨平台的。
Ant有一个构建脚本build.xml
<?xml version = "1.0"?>
<project name = "Hello" default = "compile">
<target name = "compile" description = "compile the Java source code to class files">
<mkdir dir = "classes"/>
<javac srcdir = "." destdir = "classes"/>
</target>
<target name = "jar" depends ="compile" description = "create a Jar file">
<jar destfile = "hello.jar">
<fileset dir = "classes" includes ="* * /*.class"/>
<manifest>
<attribute name = "Main-Class" valus = "HelloProgram"/>
</manifest>
<jar>
</target>
</project>

  

  jar目标用来创建应用程序jar文件,该目标依赖于compile目标,后者执行的任务是创建一个名为classes的文件夹,编译当前目录的java文件至classes目录。compile目标完成后,jar目标再执行自己的任务。Ant有大量内置的用Java实现的任务,这保证了其跨平台的特质。同时,Ant也有特殊的任务exec来执行本地命令。
  Ant是没有依赖管理的,所以很长一段时间Ant用户都不得不手工管理依赖。Ant用户现在可以借助Ivy管理依赖。而对Maven用户来说,依赖管理是理所当然的。Maven不仅内置了依赖管理,更有一个可能拥有全世界最多Java开源软件包的*仓库,Maven用户无须进行任何配置就可以直接享用。