在Windows上安装Maven:
1. 首先检查安装JDK
通过命令行运行命令:echo %JAVA_HOME%和 java -version,能够查看当前java的安装文件夹及java的版本号,maven要求JDK的版本号必须在1.4以上。
2. 下载Maven
3. 安装Maven
将压缩文件解压到你想要安装的文件夹下,比方我的路径是:D:\workspace\study\apache-maven-3.2.3。然后在系统的环境变量中新建一个变量,变量名为M2_HOME,变量值为Maven的安装文件夹 D:\workspace\study\apache-maven-3.2.3。
然后在系统变量path的末尾加上 %M2_HOME%\bin,如
做这些步骤的意义是,以后我们再命令行中输入命令时windows会自己主动在maven的安装文件夹\bin文件夹中扫描相关的命令。
4. 检查maven安装
通过输入echo %M2_HOME%和mvn -v 来查看maven的安装文件夹及查看maven的版本号。
5. maven更新
maven更新直接把新的maven解压,然后改动M2_HOME用户变量指向新的安装文件夹就可以。
安装文件夹分析:
1. M2_HOME
在M2_HOME所指向的文件夹下,有例如以下的内容:
在该文件夹下包括了mvn的执行脚本,这些脚本用来配置java命令,准备classpath和相关的Java系统属性,然后执行java命令。在windows下经常使用的有mvn.bat 和 mvnDebug.bat,这两个文件由什么关系呢?两个文件基本一样,仅仅是mvnDebug比maven多了一条MAVEN_DEBUG_OPTS的配置,其作用就是在执行Maven时开启debug,以便调试Maven本身。
该文件夹仅仅包括一个文件,以我当前的版本号为例,该文件为plexus-classworlds-2.5.1.jar,plexus-classworlds是一个类载入器,相对于默认的java类载入器,它提供了更丰富的语法以方便配置,maven使用该载入框架载入自己的类库。普通用户无需关心此文件。
该文件夹包括了一个很关键的文件settings.xml,直接改动该文件,就能在机器上全局定制Maven的行为。普通情况下,我们更偏向于复制该文件至~/.m2/文件夹(~表示用户文件夹),然后在用户范围(而非独立于maven安装文件)定制Maven的行为。然后将慢慢分析当中的各个元素。
该文件夹包括了全部Maven执行时须要的Java类库,maven本身是分模块进行开发的,因此能够看到诸如maven-core-3.2.3.jar和maven-model-3.2.3.jar之类的文件,此外还能够看到maven用到的第三方依赖。能够说,lib文件夹就是真正的maven。
2. ~/.m2
我们先执行一条简单的命令:mvn help:system,该命令会打印出全部的Java系统属性和环境变量,执行这条命令的目的是让Maven执行一个真正的任务。我们能够从命令行输出看到Maven会下载maven-help-plugin,包含pom文件和jar文件。这些文件都被下载到了Maven本地仓库中。
如今打开当前用户文件夹,在我的windows7中文件夹为C:\Users\chenlei.cl,在该文件夹下能够看到.m2文件夹,默认情况下该文件夹放置了Maven本地仓库.m2/repository。全部的Maven构件都被储存到该仓库中,以方便重用。能够到~/.m2/reposi-tory/org/apache/maven/plugins/maven-help-plugins/文件夹中找到刚才下载的maven-help-plugin的pom文件和jar文件。maven依据一套规则来确定不论什么一个构件在仓库中的位置(依据所谓的坐标),在后面章节会具体讲到。
安装m2eclipse:
m2eclipse是eclipse下一款十分强大的maven插件。
启动eclipse之后,在菜单中选择Help,然后选择Install New Software...,接着会看到一个Install对话框。单击Work with:字段边上的Addbutton,会弹出一个新的Add Repository对话框。在name字段中输入m2e,在location字段中输入http://download.eclipse.org/technology/m2e/milestones/1.6
,(似乎最新版的Eclipse已经自带了m2eclipse), 然后单击OKbutton。Eclipse会下载m2eclipse安装网站上的资源信息。等待资源加载完毕之后,再将其所有展开,就能看到例如以下图所看到的的界面。
选择对应的组件之后,一路向下就可以。注意在下载过程中,可能会下载一些相关联的其它组件。
卸载m2eclispe:
进入eclipse->help->Installation Details->Installed Software中选择m2eclipse相关的组件进行卸载就可以。
Maven安装最佳实践:
1. 设置MAVEN_OPTS环境变量
通常可以设置MAVEN_OPTS的值为 -Xms128m -Xms512m,由于Java默认的最大可用内存往往不可以满足Maven执行的须要,比方在项目较大时,使用Maven生成项目网站须要占用大量的内存,假设没有该配置,则非常easy得到java.lang.OutOfMemeoryError,因此一開始就配置该变量是推荐的做法。
2. 配置用户范围settings.xml
Maven用户能够选择配置$M2_HOME/conf/settings.xml或者~/.m2/settings.xml,前者是全局范围的,整台机器上的全部用户都会直接受到该配置的影响,而后者是用户范围的,仅仅有当前用户才会受到该配置的影响。Maven会默认先使用~/.m2/settings.xml,假设不存在才会去使用$M2_HOME/conf/settings.xml。
推荐使用用户范围的settings.xml,主要是为了避免无意识地影响到系统中的其它用户,并且为了以后maven升级的方便,直接把配置文件从仓库拷过去就能够了。
3. 不要使用IDE内嵌的Maven
当eclipse集成Maven时,会安装上一个内嵌的eclipse,这个eclispe一般会比較新,但不一定非常稳定,往往和命令行使用的Maven不是同一个版本号。这里又会出现两个潜在的问题:首先,较新版本号的Maven存在非常多不稳定的因素,easy造成一些难以理解的问题;其次,除了IDE,也常常还会使用命令行的Maven,假设版本号不一致,easy造成构建行为的不一致。因此在IDE中配置Maven插件时使用与命令行一致的Maven。
在m2clipse环境中,单击菜单条中的Windows,然后选择Preferences,在弹出的对话框中,展开左边的Maven项,选择Installation子项,在右边的面板中,可以看到有一个默认的Embedded Maven安装被选中了。单击Add...button,然后选择Maven安装文件夹M2_HOME,加入完成之后选择这一个外部的Maven。