在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. ExtJs动态生成复选框

    var old_value = Ext.get("fgzr_select").getValue() if(old_value == ""){ document. ...

  2. Selenium2+python自动化41-绕过验证码(add_cookie)

    前言 验证码这种问题是比较头疼的,对于验证码的处理,不要去想破解方法,这个验证码本来就是为了防止别人自动化登录的.如果你能破解,说明你们公司的验证码吗安全级别不高,那就需要提高级别了. 对于验证码,要 ...

  3. OpenCV学习(28) 轮廓

    OpenCV中可以方便的在一副图像中检测到轮廓,并把这些轮廓画出来.主要用到两个函数:一个是findContours( img, contours0, hierarchy, RETR_TREE, CH ...

  4. C++ Jsoncpp源代码编译与解析Json

    1.Json 数据表示方式介绍 这个可以看之前的一个文章里面有说明:Java解析(读取)Json数据 2.C++ Jsoncpp 2.1 Jsoncpp介绍 (1)JsonCpp主要包含三种类型的cl ...

  5. Lichee (五) sysconfig1.fex 配置系统

    sysconfig配置系统,作为一个通用的软件平台,还希望通过它,可以适应用户不同的方案.通过给出一个对应的配置,用户的方案就可以自动运行,而不需要修改系统里面的代码,或者重新给出参数. 配置脚本的本 ...

  6. iOS开发-多线程之GCD(Grand Central Dispatch)

    Grand Central Dispatch(GCD)是一个强有力的方式取执行多线程任务,不管你在回调的时候是异步或者同步的,可以优化应用程序支持多核心处理器和其他的对称多处理系统的系统.开发使用的过 ...

  7. 体绘制(Volume Rendering)概述之4:光线投射算法(Ray Casting)实现流程和代码(基于CPU的实现)

    转自:http://blog.csdn.net/liu_lin_xm/article/details/4850630 摘抄“GPU Programming And Cg Language Primer ...

  8. mybatis的statement的解析与加载(springboot)

    问题 mybatis的xml中的sql语句是启动时生成JDK代理类的时候就生成一次么 调用顺序链 解析xml配置 Reader reader = Resources.getResourceAsRead ...

  9. Android的View和ViewGroup分析

    1. 概念 Android中的View与我们曾经理解的"视图"不同.在Android中,View比视图具有更广的含义,它包括了用户交互和显示,更像Windows操作系统中的wind ...

  10. iOS开发系列课程预告

    近期在Mac和iOS上做开发,认为应该写一点东西分享给感兴趣的童鞋们.在此之前.以前有非常多同行们都在埋怨苹果Objective-C的复杂和难以上手,为此也有非常多人对今年(2014年)刚推出的Swi ...