《maven实战》阅读笔记

前言

第一章 Maven简介

1 何为Maven

  • Maven主要服务于基于Java平台的项目构建、依赖管理和项目信息管理
  • 构建:build,指的是编译、运行单元测试、生成文档、打包和部署等繁琐且不起眼的工作
  • maven用途之一:自动化构建过程,从清理、编译、测试到生成报告,再到打包和部署。
  • maven是一个构建工具,自动化构建,抽象构建过程,提供构建任务实现;跨平台,对外提供了一致的操作接口
  • maven还是依赖管理工具和项目信息管理工具,它提供中央仓库,帮我们自动下载构件
  • maven通过一组坐标能够找到任何一个Java类库
  • 管理项目信息:项目描述、开发者列表、版本控制系统地址、许可证、缺陷管理系统地址等,我们还能够轻松获得项目文档、测试报告、静态分析报告、源码版本日志报告等非常具有价值的项目信息
  • maven:约定优于配置

2 为什么需要maven

  • IDE的天生缺陷:
    • 依赖大量的手工操作:编译、测试、代码生成等工作都是相互独立的,很难一键完成所有工作
    • 很难在项目里统一所有的IDE配置
  • Make也许是最早的构建工具:
    • Make通过一系列目标和依赖将整个构建过程串联起来,同时利用本地命令完成每个目标的实际行为。Make的强大之处在于它可以利用所有系统的本地命令,但是make将自己和操作系统绑定在一起了,使用make就不能或很难实现跨平台构建
  • Ant:Another Neat Tool “另一个整洁的工具”
    • java版本的Make,跨平台,使用xml定义构建脚本
  • 不重复发明轮子

3 Maven与极限编程

  • 简单,交流与反馈,测试驱动开发,十分钟构建,持续集成,富有信息的工作区

4 被误解的Maven

  • 使用maven最高效的方式永远是命令行