Maven:

1. Maven 拥有约定,只要遵守约定,它就知道你的源代码在哪里。 Maven 是声明式的。 你需要做的只是创建一个 pom.xml
    文件然后将源代码放到默认的目录。 Maven 会帮你处理其它的事情。 Maven 有一个生命周期,当你运行 mvn install
    的时候被调用。 这条命令告诉 Maven 执行一系列的有序的步骤,直到到达你指定的生命周期。缺点是运行许多默认目标。
 2. 约定大于配置的意思就是, 我maven将项目开发的各个阶段固定起来了, 每个文件的存放位置, 每个阶段要生成什么文件、
    保存为什么格式并且要把它放在什么位置,我都固定好了。
    
    我知道一个软件是怎么开发出来,如果一个项目要使用maven,可以, 但你要遵循我的规则,文件目录不要乱建乱放,
    只有这样maven才会将源码用起来。 这就是约定大于配置,因为maven已经将流程固定下来了, 只要遵守约定,就不需要自己手动去配置了,
    这将大大地提高开发效率。
**

Ant:

1. ant没有约定,项目生命周期,它是命令式的。 所有操作都要手动去创建、布置。 甚至连build.xml文件都需要手动创建。
Ant可以集成到开发环境中:由于Ant的跨平台性和操作简单的特点,它很容易集成到一些开发环境中去。

**

两者之间的区别:

Ant可以集成到开发环境中:由于Ant的跨平台性和操作简单的特点,它很容易集成到一些开发环境中去。 
Maven的作用: 除了以程序构建能力为特色之外,还提供高级项目管理工具。 

Maven除了具备Ant的功能外,还增加了以下主要的功能:
使用Project Object Model来对软件项目管理; 
内置了更多的隐式规则,使得构建文件更加简单; 
内置依赖管理和Repository来实现依赖的管理和统一存储; 
内置了软件构建的生命周期; 

Maven的优点:
拥有约定,知道你的代码在哪里,放到哪里去 
拥有一个生命周期,例如执行 mvn install就可以自动执行编译,测试,打包等构建过程 
只需要定义一个pom.xml,然后把源码放到默认的目录,Maven帮你处理其他事情 
拥有依赖管理,仓库管理