- 什么是maven?
maven翻译为:“专家”“内行”,是跨平台的项目管理工具。主要服务于基于java平台的项目构建,依赖管理和项目信息管理。
- 什么是理想的项目构建?
高度自动化,跨平台,可重用的组件,标准化
- 什么是依赖?为什么要进行依赖管理?
自动下载,统一依赖管理
- 有哪些项目信息?
项目名称描述等、开发人员信息、开发者信息等
- 构建
程序员一天的工作:编写代码,编译,运行单元测试,生成文档,打包和部署
- 依赖管理
提供中央仓库,能帮我们自动下载构建。解决版本不一致,版本冲突,依赖臃肿等问题
- 项目信息管理
帮助管理项目信息,包括项目描述,开发者列表,许可证等等
- 其他
- 自动点击签出源码,单元测试,部署按钮
- Eclipse无法保证每个开发人员的编译坏境一致,A编译通过程序到B机器很可能编译不过,因为classpath中的依赖包版本不一致
- 多个项目有很多个jar,拷贝很麻烦
- 为什么需要maven?
- 手工操作较多,编译、测试、部署等工作都是独立的,很难一步完成
- 每个人的IDE配置都不同,很容易出现本地代码换个地方编译就出错
- Ant优缺点
- 没有一个约定的目录结构
- 必须明确让ant做什么,什么时候做,然后编译,打包
- 没有生命周期,必须定义目标及其实现的任务序列
- 没有集成依赖管理
- Maven的优势
- 拥有约定,知道你的代码在哪里,放到哪里去
- 拥有一个生命周期,例如执行 mvn install 就可以自动执行编译,测试,打包等构建过程
- 只需要定义一个pom.xml,然后把源码放到默认的目录,Maven帮你处理其他事情
- 拥有依赖管理,仓库管理