一、下载maven
maven官网:http://maven.apache.org/
下载下来也就是一个压缩文件,解压。我下载的是3.5.2版本,解压之后如下:
路径为:D:\Program Files\apache-maven-3.5.2
二、配置环境变量
添加自定义变量:MAVEN_HOME
值为刚才的解压路径:D:\Program Files\apache-maven-3.5.2。
MAVEN_OPTS = -Xms128m -Xmx512m(可选)
在path变量末尾加入“;%MAVEN_HOME%\bin;”。
三、验证是否安装成功
打开命令行输入:mvn -v。如果出现maven的相关信息,说明安装成功。
四、maven生成用户安装目录
- 打开DOS命令行窗口
- 输入【mvn -v】命令确保maven已成功安装
- 输入【mvn help:system】命令来让maven进行一次任务,在执行过程中就会在c盘生成【.m2】的目录
- 新生成的目录中没有【settings.xml】文件,所以在执行上步命令可能会出现编译失败,可以从maven安装目录的config目录中拷贝到【.m2】的目录中
- 再次在DOS窗口中输入第3步命令 则可以将maven初始化需要的插件都安装好
settings.xml文件会在两个目录下存在:
1、Maven安装目录(全局):%MAVEN_HOME%\conf\settings.xml
2、用户安装目录(用户):${user.home}\.m2\settings.xml
第一个是全局配置,第二个是用户配置。当两者都存在,它们的内容将被合并,特定于用户的settings.xml文件占主导地位。
如果从头开始创建用户特定的配置,可以将全局的settings.xml复制到${user.home}\.m2目录下。
五、maven添加阿里云镜像仓库
现在我们大多数java项目都使用maven来管理我们的依赖包,默认情况我们会从国外的maven中心仓库下载依赖,这样就造成下载速度较慢的问题。我们可以通过添加阿里云镜像提高maven下载依赖包的速度。
1. maven安装程序conf文件夹下setting.xml中配置,所有项目都会生效。
添加下面的语句:
<mirrors>
<mirror>
<id>nexus-aliyun</id>
<mirrorOf>*</mirrorOf>
<name>Nexus aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>
</mirrors>
添加完成后settings.xml文件如下:
<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
<mirrors>
<mirror>
<id>nexus-aliyun</id>
<mirrorOf>*</mirrorOf>
<name>Nexus aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>
</mirrors>
</settings>
六、修改本地仓库默认地址
(修改后,.m2下面的配置文件和默认仓库失效,使用新修改的仓库。所以修改全局下面的配置文件。)
使用 Maven 给我们带来的最直接的好处,就是统一管理jar 包,那么这些 jar 包存放在哪里呢?它们就在您的本地仓库中,默认地址位于 C:\Users\用户名\.m2 目录下(当然也可以修改这个默认地址),下面我们就修改一下这个默认地址。
实际上我们可以将本地仓库理解“缓存”,目的是存放jar包。开发项目时项目首先会从本地仓库中获取 jar 包,当无法获取指定 jar 包的时候,本地仓库会从 远程仓库(或 中央仓库) 中下载 jar 包,并“缓存”到本地仓库中以备将来使用。
远程仓库(中央仓库)是 Maven 官方提供的,可通过 http://search.maven.org/ 来访问。这样一来,本地仓库会随着项目的积累越来越大。通过下面这张图可以清晰地表达项目、本地仓库、远程仓库之间的关系。
既然 Maven 安装了,那么本地仓库也就有了,默认路径在我们C盘目录下。但c盘总是危险的,那么如何修改这个默认配置呢。
打开maven安装目录\conf\setting.xml文件。
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
<!-- localRepository
| The path to the local repository maven will use to store artifacts.
|
| Default: ${user.home}/.m2/repository
<localRepository>/path/to/local/repo</localRepository>
-->
<localRepository>E:\Maven_Repo</localRepository>
...
</settings>
那么默认的本地仓库位置已经修改为E:\Maven_Repo目录了。
最好先手动创建好该目录。
检验一下刚才的设置是否生效
命令行输入:mvn help:system
如果没有问题,说明配置已经成功。现在我们到E:\Maven_Repo目录下看看,会发现已经该目录下已经多出来好多文件。这些就是maven从中央仓库下载下来的文件了。
settings.xml有什么用?
如果在Eclipse中使用过Maven插件,想必会有这个经验:配置settings.xml文件的路径。
settings.xml文件是干什么的,为什么要配置它呢?
从settings.xml的文件名就可以看出,它是用来设置maven参数的配置文件。并且,settings.xml是maven的全局配置文件。而pom.xml文件是所在项目的局部配置。
Settings.xml中包含类似本地仓储位置、修改远程仓储服务器、认证信息等配置。
settings.xml文件位置
settings.xml文件一般存在于两个位置:
全局配置: ${M2_HOME}/conf/settings.xml
用户配置: user.home/.m2/settings.xmlnote:用户配置优先于全局配置。user.home/.m2/settings.xmlnote:用户配置优先于全局配置。{user.home} 和和所有其他系统属性只能在3.0+版本上使用。请注意windows和Linux使用变量的区别。
配置优先级
需要注意的是:局部配置优先于全局配置。
配置优先级从高到低:pom.xml> user settings > global settings
如果这些文件同时存在,在应用配置时,会合并它们的内容,如果有重复的配置,优先级高的配置会覆盖优先级低的。