maven是什么,它和ant有什么区别?

java面试题:Maven 和 ANT 有什么区别?

Maven和Ant的区别

maven和ant区别

Maven 拥有约定,只要遵守约定,它就知道你的源代码在哪里。
Maven 是声明式的。
你需要做的只是创建一个 pom.xml 文件然后将源代码放到默认的目录。
Maven 会帮你处理其它的事情。
Maven 有一个生命周期,当你运行 mvn install 的时候被调用。
这条命令告诉 Maven 执行一系列的有序的步骤,直到到达你指定的生命周期。缺点是运行许多默认目标。
约定大于配置的意思就是,
我maven将项目开发的各个阶段固定起来了,
每个文件的存放位置,
每个阶段要生成什么文件、
保存为什么格式并且要把它放在什么位置,我都固定好了。

我知道一个软件是怎么开发出来,如果一个项目要使用maven,可以,
但你要遵循我的规则,文件目录不要乱建乱放,
只有这样maven才会将源码用起来。
这就是约定大于配置,因为maven已经将流程固定下来了,
只要遵守约定,就不需要自己手动去配置了,
这将大大地提高开发效率。

 

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

 

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

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

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