第一部分:在Windows上安装Maven
检查JDK的安装
在安装Maven之前,首先确认你已经正确安装了JDK。Maven可以运行在JDK1.4及以上版本。先打开Windows命令,运行如下命令检查JDK的安装:
上述命令首先检查环境变量JAVA_HOME是否指向了正确的JDK安装目录,接着尝试运行java命令,检查JDK的版本。
下载Maven
请访问Maven的下载页面:http://maven.apache.org/download.html,其中包含针对各种平台的不同版本的Maven下载文件。
本地安装
将安装文件解压到制定目录中,接着需要配置环境变量,将Maven安装配置到操作系统环境中。
Step1:在系统变量中新建一个变量,命名为M2_HOME,变量的值为Maven的安装目录。
Step2:在系统变量中找到一个名为Path的变量,在变量值的末尾加上%M2_HOME%\bin;注意多个值之间需要分号隔开,至此环境变量配置完成。
Step3:在Windows命令中,运行echo %M2_HOME% 和 mvn –v,来检查Maven的安装情况。
值得注意的是Path环境变量。当我们在Windows命令框输入命令时,Windows首先会在当前目录寻找可执行文件或脚本,如果没有找到,Windows接着会遍历环境变量中Path定义的路径。由于将%M2_HOME%\bin定义在了Path中。因此,Windows在执行Maven命令时,自动找到Maven安装目录下bin目录下的可执行文件或脚本,所以无论当前目录是什么,都可以执行到Maven命令。
Maven升级
Maven升级比较简单,只要去官网下载需要更新的版本,然后解压,接着将系统环境变量M2_HOME指向新版本的Maven安装目录即可。
第二部分:安装目录
安装目录下,包含bin\boot\conf\lib\license.txt\notice.txt\readme.txt。
bin目录:运行脚本或命令所在目录,包含UNIX平台shell脚本和Windows平台bat脚本。
boot目录:该目录只包含一个文件,该文件为plexue-classworlds-xxx.jar,它是一个类加载器框架,相对于默认的java类加载器,它提供更丰富的语法以方便配置,Maven使用该框架加载自己的类库。
conf目录:在该目录下,包含一个非常重要的.setting.xml文件,直接修改该文件,会直接定制机器上全局Maven的行为,一般不推荐如此操作。合适的做法是,复制一份setting.xml文件,然后修改该文件,在用户范围定制Maven的行为。
Lib目录:该目录包含了Maven运行时所有所需要的java类库。值得一提的是,用户可以在此目录找到Maven内置的超级POM。
license.txt:记录了Maven使用的软件许可证。
notice.txt:记录了Maven使用的第三方软件。
readme.txt:记录了Maven的简要介绍。
在默认的情况下,我们可以在用户目录下(C:\Users\hailang\.m2),找到一个.m2文件夹,该文件夹包含setting.xml文件(此文件是从Maven安装目录复制过来)和repository文件,在setting.xml定制了Maven的行为,而通过Maven下载到本地的jar包都包含在repository文件夹中。
第三部分:设置HTTP代理
有时候你所在公司基于安全因素考虑,要求你使用通过安全认证的代理服务访问因特网,这种情况下,就需要为Maven设置HTTP代理,才能正常访问外部仓库,以下载所需要的资源。
首先,确认你无法访问Maven的*仓库,先ping一下*仓库的域名。如果真需要代理,则先检查代理服务器是否畅通,比如有一个IP为172.31.90.99 端口为8008的代理服务,我们可以通过talnet 17.31.90.99 8008检查该地址该端口是否畅通,如果talnet能连接正确,则输入ctrl+],然后q,回车,退出即可。
其次,编辑用户目录下的setting.xml文件,添加代理配置如下:
<proxies>
<proxy>
<id>my-proxy</id>
<active>true</active>//激活该代理
<protocol>http</protocol>//代理协议http
<host>17.31.90.99</host>//主机名
<port>8008</port>//端口
<username></username>//认证用户名
<password></password>//认证密码
<nonProxyHosts>repository.mycom.com|*.google.cn</nonProxyHosts>//指定哪些域名不需要代理
</proxy>
...
...
</proxies>
第四部分:其他
设置MAVEN_OPTS变量
运行mvn命令实际上是执行java命令,既然是运行java,那么运行java命令可用的参数,当然也应该在mvn命令时可用。这个时候MAVEN_OPTS就能派上用场。在环境变量中配置MAVEN_OPTS参数-Xms128m –Xmx 512m,因为java最大可用内存,往往不能够满足Maven运行的需要。
配置用户范围的setting.xml文件
尽量不要修改安装目录下的setting.xml文件,一是因为它是全局文件,会影响本机所有Maven项目;其次,不便于升级。
不要使用IDE内嵌的Maven
原因有二,一是内嵌的Maven不稳定;二是我们在项目开发过程中,可能会同时使用IDE的Maven插件和Maven命令,如果版本不一致,容易造成构建行为的不一致。