定义
Maven是一个项目管理工具,它包含了一个项目对象模型 (Project Object Model),一组标准集合,一个项目生命周期(Project Lifecycle),一个依赖管理系统(Dependency Management System),和用来运行定义在生命周期阶段(phase)中插件(plugin)目标(goal)的逻辑。 当你使用Maven的时候,你用一个明确定义的项目对象模型来描述你的项目,然后 Maven 可以应用横切的逻辑,这些逻辑来自一组共享的(或者自定义的)插件。
术语
- POM(Project Object Model):项目对象模型
- repositories:Maven仓库
- dependency management:依赖管理
- build lifecycle:构建生命周期
速记符号
- pluginId:goalId
核心概念
- Maven插件和目标 (Plugins and Goals)
- 插件:一个Maven插件是一个单个或者多个目标的集合。
- Maven生命周期 (Lifecycle)
- 验证(validation):
- Maven坐标 (Coordinates)
- groupId:团体标识
- Maven仓库(Repositories)
- 远程仓库
- Maven依赖管理 (Dependency Management)
- 传递性依赖
- 站点生成和报告 (Site Generation and Reporting)
注:
[1] Maven执行一个阶段的时候,它首先会有序的执行前面的所有阶段,到命令行指定的那个阶段为止。
[2] Maven坐标定义了一组标识,它们可以用来唯一标识一个项目,一个依赖,或者Maven POM里的一个插件。
[3] 默认的远程仓库(http://repo1.maven.org/maven2)可以被替换。
安装
注:安装前请确保JDK已经安装且已配置好环境变量(JAVA_HOME)。
Step0: 下载安装zip
Step1: 解压zip文件
Step2: 配置环境变量
- 添加M2_HOME
- 修改path
Step3: 验证安装结果
参考资料:
目录简介(version 3.2.5)
- /bin:包含了运行Maven的mvn脚本
- /boot:包含了一个负责创建Maven运行所需要的类装载器的JAR文件(plexus-classworlds-2.5.2.jar)
- /conf:包含了一个全局的settings.xml文件,该文件用来自定义你机器上Maven的一些行为
- /lib:包含了Maven核心JAR文件
- LICENSE:
- NOTICE:
- README.txt:
常见配置
修改本地仓库位置
Step1: 迁移原库文件夹(${user.home}/.m2/repository)至新路径(E:ApacheSoftwaremaven
epository)
Step2: 修改 /conf/settings.xml
修改<localRepository></localRepository>节点值
Step3: 修改Eclipse配置
Window -> Preferences -> Maven -> User Settings
技巧:复制M2_HOME/conf/setting.xml至~/.m2/setting.xml
常用命令
mvn -v
功能:显示maven的版本信息(常备用于验证maven安装成功)
mvn clean install
mvn clean package
常用链接
官网 | http://maven.apache.org/ |
Download | http://mirror.bit.edu.cn/apache//maven/ |
远程仓库地址 | http://repo1.maven.org/maven2 |
找JAR包 |
Books
Maven: The Complete Reference