Maven与Ant比较

Ant是软件构建工具。Maven的定位是软件项目管理和理解工具。

Maven除了具备Ant的功能外,还增加了以下主要的功能:

1)使用Project Object Model来对软件项目管理;

2)内置了更多的隐式规则,使得构建文件更加简单;

3)内置依赖管理和Repository来实现依赖的管理和统一存储;

4)内置了软件构建的生命周期。

POM(Project Object Model)     pom.xml    项目管理文件

每一个Maven工程moudle都包含一个pom.xml文件,其中存储了该工程相关的资源,从而达到一定的项目管理的功能。

例如包含了工程的配置,缺陷跟踪系统信息,工程的组织,许可协议,工程的路径,依赖等信息。

典型的pom.xml如下:(主要包含以下标签)

<project … >
<modelVersion>4.0.0</modelVersion>

<!-- The Basics -->
<groupId>...</groupId>
< artifactId>...</artifactId>
< version>...</version>
< packaging>...</packaging>
< dependencies>...</dependencies>
< parent>...</parent>
< dependencyManagement>...</dependencyManagement>
< modules>...</modules>
< properties>...</properties>

Maven工程的目录结构必须为如下的结构

Maven 拥有约定,通过pom管理项目,记录了项目的开发流程,它包含了一个项目的生命周期的各个阶段,并将这个周期固定下来,即约定大于配置。

ant没有约定,项目生命周期,它是命令式的。所有操作都要手动去创建、布置。甚至连build.xml文件都需要手动创建。

百度百科:https://baike.baidu.com/item/Maven/6094909?fr=aladdin

原文地址:https://www.cnblogs.com/yuntianblog/p/14514488.html