一、maven的安装
1.下载maven的bin,在apache官方网站可以下载。
2.将安装文件解压到指定的目录。例如:D:\apache-maven-3.2.3
maven的目录结构:
bin:包含了maven运行的脚本,这些脚本用来配置java命令。
boot:该目录只包含一个文件,是一个类加载器框架,对于普通用户来说不用关心。
conf:这里有一个非常重要的文件 settings.xml。
lib:包含了maven运行是所需要的类包。
3.配置环境变量:M2_HOME
如同JAVA_HOME一样,我们完全可以不用配置,直接在path中完全定义maven的路径。
4.配置环境变量:path
另,环境变量path的作用,当我们在cmd中输入命令时,windows首先会在当前的目录中寻找可执行文件或脚本,若是没有找到,会接着遍历path中定义的路径。
二、常见问题
1) 修改本地Maven仓库路径
仓库有两类:本地仓库、远程仓库。当maven寻找构件的时候,它会首先查找本地仓库,若是本地仓库不存在,就会从远程仓库下载到本地仓库。
安装maven后,如果不执行任何maven命令,本地仓库目录是不存在的。
默认情况下,每个用户在自己的用户目录下都有一个路径名为:C:\Users\wangzh\.m2\repository 的仓库。
对于我来说,更希望将本地仓库指定一个位置,便于管理。操作如下:
1. 新建文件夹:D:\apache-maven-repository
2. 复制D:\apache-maven-3.2.3\conf\settings.xml到 C:\Users\wangzh\.m2\settings.xml
maven运行时,会优先在用户目录 C:\Users\wangzh\.m2\settings.xml 下搜索配置文件。
3. 修改settings.xml的本地仓库地址,如下:
<settings> <localRepository>D:\apache-maven-repository\repository</localRepository> </settings>
2) 修改中央Maven仓库路径
maven内置的中央仓库地址: http://repo1.maven.org/maven2
下面是一个阿里云的maven私服,速度飞快。
配置很简单,修改conf文件夹下的settings.xml文件,添加如下镜像配置:
<mirrors> <mirror> <id>alimaven</id> <name>aliyun maven</name> <url>http://maven.aliyun.com/nexus/content/groups/public/</url> <mirrorOf>central</mirrorOf> </mirror> </mirrors>
#收集的比较快的maven仓库:http://maven.wso2.org/nexus/content/groups/public/
http://jcenter.bintray.com/
http://maven.antelink.com/content/repositories/central/
http://nexus.openkoala.org/nexus/content/groups/Koala-release/
http://maven.tmatesoft.com/content/groups/public/
http://mavensync.zkoss.org/maven2/
http://maven.springframework.org/release/
3) 设置MAVEN_OPTS变量
运行mvn eclipse:eclipse时,经常会出现因为maven项目过大,导致内存不足java栈溢出的error。
通常的方法是在mvn执行的脚本中修改 MAVEN_OPTS。
推荐的方式是将MAVEN_OPTS设定为环境变量,一次制定,一劳永逸。
我们推荐第二种,原因如下:
首先,每个project都要去修改执行脚本成本太大,其次,之后maven升级后,还需要修改。我们应尽可能不去修改任何maven安装目录下的文件。
MAVEN_OPTS : -Xms128m -Xmx512m,分别设置JVM的最小和最大内存
4) 不要使用IDE内嵌的maven
IDE都会内嵌一个maven,如果版本不一致,容易造成构建行为的不一致。
maven => Installations 子选项 => Add 按钮 => 添加安装路径的maven
maven => user setting 子选项 => user setting 设置本地仓库路径