在上篇文章1 Maven简介中我们了解到maven是一种全新的项目构建方式,让我们的开发更加简单,高效。
Maven主要做的是两件事:
1: 统一开发规范与工具
2: 统一管理jar包
这两件事情他都做到了,而且还做了更多的事情。Maven还可以管理项目的整个声明周期,包括编 译,构建,测试,发布,报告等等。目前Apache下绝大多数项目都已经采用Maven进行管理。而Maven本身还支持多种插件,可以方便更灵活的控制项目。
准备工作

安装
安装maven超级简单,总共分四步:
1:下载 Maven ,其实就是一个压缩包,解压一下

2:配置一下环境变量
有两个环境变量可以配置:
- MAVEN_HOME = D:\Java\Apache-Maven-3.2.5
或者 - M2_HOME = D:\Java\Apache-Maven-3.2.5
也可以两个都配置,如下图:

在path变量末尾加入“%MAVEN_HOME%\bin;”。

4:最后,验证是否安装成功
现在我们打开 cmd,输入:
mvn -v
如下图所示:

成功!
在使用 Maven 之前,我们必须要了解一下 Maven 到底是怎样管理 jar 包的,这就是 Maven 仓库要干的活了。
了解Maven仓库
使用 Maven 给我们带来的最直接的好处,就是统一管理jar 包,那么这些 jar 包存放在哪里呢?打开

会看到

,默认地址位于 C:\Users\用户名.m2 目录下(当然也可以修改这个默认地址),下面我们就修改一下这个默认地址。

修改完成后,测试修改是否生效
在控制台输入:mvn help:system

如果没有任何问题,执行完该命令之后,在D:\maven\repository下面就会多出很多文件,这些文件就是maven从中央仓库下载到本地仓库的文件,maven已经开始为我们工作了
实际上我们可以将本地仓库理解“缓存”,目的是存放jar包。开发项目时项目首先会从本地仓库中获取 jar 包,当无法获取指定 jar 包的时候,本地仓库会从 远程仓库(或 中央仓库) 中下载 jar 包,并“缓存”到本地仓库中以备将来使用。
远程仓库(中央仓库)是 Maven 官方提供的,可通过 http://search.maven.org/ 来访问。这样一来,本地仓库会随着项目的积累越来越大。通过下面这张图可以清晰地表达项目、本地仓库、远程仓库之间的关系。

网友评论