2.1.在windows上安装Maven
2.1.1 检查JDK安装
检查windows下jdk是否正确安装。
2.1.2 下载Maven
2.1.2.1 下载安装包
下载地址:http://maven.apache.org/download.html
首先查看版本对照,由于我使用的是jdk1.6,所以下载与该jdk版本对应的安装包:
点击旧版本链接:
进入到安装包下载列表,我这里下载3.2.1的安装包:
2.1.2.2 配置环境变量
M2_HOME配置:
path配置:
验证Maven环境变量是否成功:
2.1.2.3 升级Maven
只需要下载新的安装包,解压到某个路径,或者是待Maven解压的路径,重新配置环境变量(M2_HOME与path)即可。
2.2 Unix下安装
略
2.3 安装目录解析
2.3.1 安装目录
目录结构:
bin
boot
conf
lib
LICENSE.txt
NOTICE.txt
README.txt
bin:该目录包含了mvn运行的脚本,这些脚本用来配置java命令,准备好classpath和相关的java系统属性,然后执行java命令。
其中mvn是基于UNIX的shell脚本,mvn.bat是基于Windows平台的bat脚本。mvnDebug作用是运行maven时开启debug,
以便调试maven本身。此外,该目录还包含m2.conf文件,这是classworlds的配置文件。
boot:该目录只包含一个文件,plexus-classworlds-2.5.1.jar,plexus-classworlds是一个类加载器框架。i
conf:该目录包含了一个非常重要的文件setting.xml.直接修改该文件就能在机器上全局地订制Maven的行为。一般情况下
更倾向于将该文件拷贝到,~/.m2/目录下(~表示用户目录),然后修改该文件,在用户范围内限定Maven的行为。
lib:该目录包含了maven运行时所有需要依赖的jar包。用户可以在该目录找到内置的超级pom。
LICENSE.txt:maven的许可证信息。
NOTICE.txt:记录了Maven包含的第三方软件。
README.txt:是Maven的简要介绍,包括安装需求及如何安装的简要指令等。
2.3.2 ~/.m2/
本人电脑上的路径为:C:\Users\Administrator\.m2\,该文件夹下默认放置了Maven本地仓库.m2/repository。所有的Maven
构件都被存储到该仓库中,以方便重用。
2.4 设置HTTP代理
有时候你的公司基于安全考虑,要求你使用通过安全认证的代理访问因特网。这种情况下,就需要为Maven配置HTTP代理,
才能真正访问外部仓库来下载资源。
首先确认自己无法直接访问公共的Maven*仓库,直接运行命令ping repo1.maven.org可以检查网络。如果真的需要代理,
先检查一下代理服务器是否畅通,telnet ip地址 端口,如果连接正确。
编辑~/.m2/setting.xml文件:
<proxies>配置很简单,proxies下可以有多个proxy元素,如果声明了多个proxy元素,则默认情况下第一个被激活的proxy会生效。这里
<proxy>
<id>optional</id>
<active>true</active>
<protocol>http</protocol>
<host>proxy.host.net</host>
<port>80</port>
<!--
<username>proxyuser</username>
<password>proxypass</password>
<nonProxyHosts>local.net|some.host.com</nonProxyHosts>
-->
</proxy>
</proxies>
声明了一个id为optional的代理,active为true代表激活该代理,protocol代表使用的代理协议。最重要的是指明主机名与端口号。
当代理需要认证是需要指定username和password.nonProxyHosts元素用来指定哪些主机名不要代理,可以使用“|”符号来分隔多个
主机名。
2.5 安装m2eclipse(待完善)
可以在eclipse里面安装m2eclipse插件。
2.6 Maven安装最佳实践
2.6.1 设置MAVEN_OPTS环境变量
java默认的内存往往不能满足Maven运行的需要,比如项目较大时,使用Maven生成项目站点就会占用大量的内存,所以通常需要
设置MAVEN_OPTS 值-Xms126m -Xms512m,如果没有该配置,则很容易得到java.lang.OutOfMemoryError。
2.6.2 配置用户范围的setting.xml
Maven用户可以选择配置M2_HOME/conf/settings.xml或则~/.m2/settings.xml,前者是全局范围的,整台机器上的所有用户都会直接
接受到该配置的影响,而后者是用户范围的,只有全局用户才会受到该配置的影响。
推荐使用用户范围的settings.xml,主要为了避免无意识地影响到系统中的其他用户。如果有切实的需求,需要统一系统中所有用户的
settings.xml配置,当然应该使用全局范围的settings.xml。
配置用户范围的settings.xml文件还便于Maven升级。直接修改conf目录下的setting.xml会导致Maven升级不变,每次升级到最新版本
Maven,都需要备份settings.xml文件,如果直接使用~/.m2/settings.xml,就不会影响到Maven安装文件,升级时就不需要触动settings.xml。
2.6.3 不要使用IDE内嵌的Maven
IDE在集成Maven时,都会安装上一个内嵌的Maven,这个内嵌的Maven通常比较新,但不一定稳定,而且往往和命令行使用的Maven
(即:我们之前现在下来的安装包)不是同一个版本,最好让IDE中的使用的Maven与命令行中的Maven保持一致,来避免不必要的问题。
配置方法(我使用的是myeclipse,eclipse下也是一样的配置方法)
:右侧窗口中选择命令行Maven即可