在Windows上安装Maven:

   1.  首先检查安装JDK

通过命令行运行命令:echo %JAVA_HOME%和 java  -version,能够查看当前java的安装文件夹及java的版本号,maven要求JDK的版本号必须在1.4以上。

   2. 下载Maven
前往maven的下载页面:http://maven.apache.org/download.cgi下载最新或稳定版的maven,如:apache-maven-3.2.3-bin.zip。
   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所指向的文件夹下,有例如以下的内容:

  • bin

在该文件夹下包括了mvn的执行脚本,这些脚本用来配置java命令,准备classpath和相关的Java系统属性,然后执行java命令。在windows下经常使用的有mvn.bat 和 mvnDebug.bat,这两个文件由什么关系呢?两个文件基本一样,仅仅是mvnDebug比maven多了一条MAVEN_DEBUG_OPTS的配置,其作用就是在执行Maven时开启debug,以便调试Maven本身。

  • boot
     该文件夹仅仅包括一个文件,以我当前的版本号为例,该文件为plexus-classworlds-2.5.1.jar,plexus-classworlds是一个类载入器,相对于默认的java类载入器,它提供了更丰富的语法以方便配置,maven使用该载入框架载入自己的类库。普通用户无需关心此文件。
  • conf
     该文件夹包括了一个很关键的文件settings.xml,直接改动该文件,就能在机器上全局定制Maven的行为。普通情况下,我们更偏向于复制该文件至~/.m2/文件夹(~表示用户文件夹),然后在用户范围(而非独立于maven安装文件)定制Maven的行为。然后将慢慢分析当中的各个元素。
  • lib
     该文件夹包括了全部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。


Maven学习笔记(二) :Maven的安装与配置的更多相关文章

  1. (转)Maven学习总结(二)——Maven项目构建过程练习

    孤傲苍狼 只为成功找方法,不为失败找借口! Maven学习总结(二)——Maven项目构建过程练习 上一篇只是简单介绍了一下maven入门的一些相关知识,这一篇主要是体验一下Maven高度自动化构建项 ...

  2. MAVEN学习笔记之Maven生命周期和插件简介(3)

    MAVEN学习笔记之Maven生命周期和插件简介(3) clean compile site三套生命周期相互独立. clean pre-clean 执行清理前的工作 clean 清理上一次构建生成的所 ...

  3. MAVEN学习笔记之Maven插件的应用(4)

    MAVEN学习笔记之Maven插件的应用(4) <build> <pluginManagement> <plugins> <plugin> <gr ...

  4. HBase学习笔记之HBase的安装和配置

    HBase学习笔记之HBase的安装和配置 我是为了调研和验证hbase的bulkload功能,才安装hbase,学习hbase的.为了快速的验证bulkload功能,我安装了一个节点的hadoop集 ...

  5. maven学习笔记二(了解maven的基本命令)

    maven常用的命令 mvn archetype:create 创建Maven项目 mvn compile 编译源代码 mvn deploy 发布项目 mvn test-compile 编译测试源代码 ...

  6. Maven学习总结(二)——Maven项目构建过程练习

    上一篇只是简单介绍了一下maven入门的一些相关知识,这一篇主要是体验一下Maven高度自动化构建项目的过程 一.创建Maven项目 1.1.建立Hello项目 1.首先建立Hello项目,同时建立M ...

  7. Maven系列(二)之安装和配置详解

    检查JDK环境 在安装Maven之前,首先要确认你已经正确安装了JDK.Maven可以运行在JDK 1.4及以上的版本上. 打开cmd输入: java -version 下载Maven Maven官网 ...

  8. Maven学习笔记:Maven简介

    Maven的概念 Maven是基于项目对象模型(POM,Project Object Model),可以通过描述信息来管理项目的构建,报告和文档的软件管理工具 Maven除了以程序构建能力为特色之外, ...

  9. Git学习笔记(1)——安装,配置,创建库,文件添加到库

    初次接触git,为了记忆深刻,把学习的简单流程记录下来. 本文记录了Git在Ubuntu上的安装,配置,以及创建版本库和往库中添加文件的过程. 1.Git的安装:(Ubuntu-Linux非常友好的安 ...

随机推荐

  1. Android调用手机中的应用市场,去评分的功能实现

    在我们常常使用的软件当中,我们经常可以看到在软件的设置界面,有一个功能那就是去评分的功能,只要我们一点击“去评分”就会调用手机中的应用市场软件.一开始我以为这个功能的实现是要遍历整个手机中的软件包名, ...

  2. 算法:堆排序(Heap Sort)

    备注 考虑到 Heap 的特性,很容易想到将其用作排序的用处,为了提高效率需要适当的改进一下,如:in place remove 和 in place move down. 代码 using Syst ...

  3. java中ant包中的org.apache.tools.zip实现压缩和解压缩

    其实apache中的ant包(请自行GOOGLE之ant.jar)中有一个更好的类,已经支持中文了,我们就不重复制造轮子了,拿来用吧,这里最主要的功能是实现了 可以指定多个文件 到同一个压缩包的功能 ...

  4. c3p0、dbcp、proxool、BoneCP比较

    1.1 测试环境: 操作系统:windows xp sp3 数据库:mysql 5.1 1.2 测试条件: initialSize=30; maxSize=200; minSize=30; 其余参数为 ...

  5. EasyUI相同的Tab只打开一个(即EasyUI方法的调用方法)

    function addTabA(title){ if ($('#tt').tabs('exists', title)){ $('#tt').tabs('select', title); } else ...

  6. cron表达式举例

    1.quartz定时任务时间设置描述(2011-03-03 16:23:50)转载▼标签: quartz时间it 分类: 凌乱小记 这些星号由左到右按顺序代表 : * * * * * * * 格式: ...

  7. python植入后门backdoor程序的方法?

    后门程序 from gevent.backdoor import BackdoorServer server = BackdoorServer((), banner="Hello from ...

  8. Spark向HDFS中存储数据

    程序如下: import org.apache.spark.sql.Row; import org.apache.spark.SparkConf; import org.apache.spark.ap ...

  9. Vue路由scrollBehavior滚动行为控制锚点

    使用前端路由,当切换到新路由时,想要页面滚到顶部,或者是保持原先的滚动位置,就像重新加载页面那样. vue-router 能做到,而且更好,它让你可以自定义路由切换时页面如何滚动. 注意: 这个功能只 ...

  10. scala 学习笔记四 匿名函数

    1.介绍 Scala 中定义匿名函数的语法很简单,箭头左边是参数列表,右边是函数体. 使用匿名函数后,我们的代码变得更简洁了. 下面的表达式就定义了一个接受一个Int类型输入参数的匿名函数: var ...