Maven 是一种全新的项目构建方式,基于项目对象模型(POM,Project Object Model)的思想,Maven 可以管理项目的整个生命周期,包括编译、构建(build)、测试、发布以及报告(report)等。Maven 主要的使命在于以下两点:
- 统一管理 jar 包;
- 统一开发规范和工具;
Maven是一个项目管理工具,它包含了一个项目对象模型 (Project Object Model,POM),一组标准集合,一个项目生命周期(Project Lifecycle),一个依赖管理系统(Dependency Management System),和用来运行定义在生命周期阶段(phase)中插件(plugin)目标(goal)的逻辑。当你使用Maven的时候,你用一个明确定义的项目对象模型来描述你的项目,然后Maven可以应用横切的逻辑,这些逻辑来自一组共享的(或者自定义的)插件。
对于初学者在安装配置好 maven 之后,发现目录下不存在 .m2文件夹,其原因是因为没有执行任何 maven 相关的命令,之后执行之后 maven 才会自动去创建 .m2 文件夹。
.m2 所在的路径:
- for windows: C:UsersAdministrator>
- for Linux :/root
0. Maven 仓库
Maven 的一大用处便在于能够统一管理 jar 包,这些 jar 包存放在本地仓库中,我们可以将本地仓库理解为“缓存”。开发项目时项目首先会从本地仓库中获取 jar 包,当无法获取指定 jar 包的时候,本地仓库会从 远程仓库(或 中央仓库) 中下载 jar 包,并“缓存”到本地仓库中以备将来使用。本地仓库便会随着项目的积累越来越大。
项目、本地仓库与远程仓库的关系如下:
1. 安装
- 首先安装 jdk;
- 下载 maven(选择编译好的二进制 zip 文件,以 -bin.zip 结尾),并解压(比如解压到 D 盘 maven 文件夹下);
- 配置环境变量,
- MAVEN_HOME = D:mavenapache-maven-3.5.0
- Path 变量后添加:
%MAVEN_HOME%in
- cmd 验证(是否识别 mvn 命令)
- 打开 cmd,输入:mvn -v(mvn -version)
2. 简单配置
打开 %MAVEN_HOME%conf
下的 settings.xml 文件,会看到此配置文件中,有一条注释掉的配置项:
<!-- localRepository
| The path to the local repository maven will use to store artifacts.
|
| Default: ${user.home}/.m2/repository
<localRepository>/path/to/local/repo</localRepository>
-->
也即默认本地仓库的位置在C:Users用户名.m2
路径下,我们通过配置该属性,以将本地仓库安装在指定的位置。
<localRepository>D:maven
epository</localRepository>
紧接着在 cmd 控制台输入:
C:Usershasee>mvn help:system
如果没有任何问题,执行完该命令之后,在D:maven epository下面就会多出很多文件,这些文件就是maven从中央仓库(远程仓库)下载到本地仓库的文件,maven已经开始为我们工作了。
3. settings.xml 配置远程公共仓库
Maven 项目默认从国外的中央仓库下载,速度很慢,我们在 settings.xml 中配置如下属性,使用国内的 oschina Maven 公共仓库,下载依赖构件包速度很快:
<mirrors>
<mirror>
<id>localMaven</id>
<mirrorOf>*</mirrorOf>
<name>MyMaven</name>
<url>http://maven.oschina.net/content/groups/public/</url>
</mirror>
</mirrors>