1.1 Maven是什么?
构建工具的超集,一个项目管理工具。
Maven是一个项目管理工具,它包含:
1.项目对象模型(Project Object Model)
2.一组标准集合
3.项目生命周期(Project Lifecycle)
4.依赖管理系统(Dependence Management System)
5.插件运行的逻辑
1.2 约定优于配置(Convention Over Configuration)
Maven有一定的目录规范,只要遵循该规范就可以使得Maven的使用非常简单。
这点比较有感触,在自己平常的代码开发中也可以借鉴这种思想。
1.3 通用接口
不需要专门去学习项目的构建环境,只要项目是遵守Maven的约定,就可以使用Maven install,Maven test。
1.4 基于Maven插件的全局重用性
Maven的核心不做实际的事情,只负责解析XML文档,管理生命周期与插件。
Maven将主要的职责委派给Maven的插件,如编译源码,打jar包,运行单元测试等。
Maven的插件是在第一次构建项目时从Maven仓库中下载的。Maven的插件支持兼容,可以通过更新插件引入新的功能。
1.5 项目概念模型
每一个项目定义的模型有如下特征:
1.依赖管理
2.远程仓库
3.全局性构建逻辑重用:插件
4.工具可移植性、集成
5.便于搜索和过滤构建
1.6 Maven是Ant的另一种选择么?
Maven不仅仅是一个构建工具,更是一个平台,更提倡一种通用的构建机制。
1.7 比较Maven和Ant
Ant:
缺点:
1.没有约定的项目目录结构,必须在项目构建中显示指定源代码位置等信息。
2.Ant是程序化的,必须手工书写构建的逻辑,非常复杂的build.xml
3.Ant是没有生命周期,必须手工书写依赖。
优点:
可以高度自定义构建过程,可以再Maven使用Ant插件来使用Ant脚本。