虽然两者功能上都是构建工具,都用于创建 Java 应用,但是 Maven 做的事情更多,在基于“约定优于配置”的概念下,提供标准的Java 项目结构,同时能为应用自动管理依赖(应用中所依赖的 JAR 文件)。Ant仅仅是软件构建工具,而Maven的定位是软件项目管理和理解工具。Maven除了具备Ant的功能外,有以下主要的功能:
(1)使用Project Object Model来对软件项目管理;
(2)内置了更多的隐式规则,使得构建文件更加简单;
(3)内置依赖管理和Repository来实现依赖的管理和统一存储;
(4)内置了软件构建的生命周期;