Ant和Maven都是基于Java的构建(build)工具。理论上来说,有些类似于(Unix)C中的make ,但没有make的缺陷。Ant是软件构建工具,Maven的定位是软件项目管理和理解工具。
Ant特点
1.没有一个约定的目录结构
2.必须明确让ant做什么,什么时候做,然后编译,打包
3.没有生命周期,必须定义目标及其实现的任务序列
4.没有集成依赖管理
Maven特点
1.拥有约定,知道你的代码在哪里,放到哪里去
2.拥有一个生命周期,例如执行 mvn install 就可以自动执行编译,测试,打包等构建过程
3.只需要定义一个pom.xml,然后把源码放到默认的目录,Maven帮你处理其他事情
4.拥有依赖管理,仓库管理
Maven除了具备Ant的功能外,还增加了以下主要的功能:
1)使用Project Object Model来对软件项目管理;
2)内置了更多的隐式规则,使得构建文件更加简单;
3)内置依赖管理和Repository来实现依赖的管理和统一存储;
4)内置了软件构建的生命周期;