1、下载地址
http://maven.apache.org/download.html

2、windows下安装maven
(1)下载 apache-maven-3.0-bin.zip 解压到任意目录下 如 D:\maven\apache-maven-3.0

(2)设置系统环境变量:变量名为 MVN_HOME,变量值为 Maven 安装目录 D:\maven\apache-maven-3.0。
点击确定,接着在系统变量中找到一个名为 Path 的变量,在变量值的末尾加上%MVN_HOME%\bin;
注意多个值之间需要有分号隔开,然后点 击确定。

(3)运行如下命令检查 Maven 的安装情况:
C:\Users\Juven Xu>echo %MVN_HOME%
C:\Users\Juven Xu>mvn -v
第一条命令 echo %M2_HOME%用来检查环境变量 MVN_HOME 是否指向了正确的 Maven 安装目录;
而 mvn –version 执行了第一条 Maven 命令,以检查 Windows 是否能够找到正确的 mvn 执行脚本。

(4)升级Maven
下载新的 Maven 安装文件,解压至本地目录,然后更新 MVN_HOME 环境变量便可。
例如,假设 Maven 推出了新版本 3.1,我们将其下载然后解压至目录D:\maven\apache-maven-3.1,
接着遵照前一节描述的步骤编辑环境 变量 MVN_HOME,更改其值为 D:\maven\apache-maven-3.1。
至此,更新就完成了。
同理, 如果你需要使用某一个旧版本的 Maven,也只需要编辑 MVN_HOME 环境变量指向旧版本的安装目录。

3、类Unix下安装Maven
(1)下载 apache-maven-3.0-bin.tar.gz
(2)解压到本地目录 tar -xvzf apache-maven-3.0-bin.tar.gz
(3)在解压的目录新建符号链接,方便日后升级。ln -s apache-maven-3.0 apache-maven
(4)设置 MVN_HOME 环境变量指向符号链接 apache-maven,把安装目录下的 bin/文件夹添加到系统环境变量 PATH 中去:
juven@juven-ubuntu:bin$ export MVN_HOME=/home/juven/bin/apache-maven
juven@juven-ubuntu:bin$ export PATH=$PATH:$MVN_HOME/bin
(5)上面的命令只在本次会话生效,如需永久配置变量,则需要将这两个命令写入~/.bashrc 文件中。
(6)检查安装:
juven@juven-ubuntu:bin$ echo $MVN_HOME
juven@juven-ubuntu:bin$ mvn -version
(7)升级maven
将3.1安装包解压到与前一版本3.0平行的目录下,然后更新符号链接指向 3.1 版的目录便可
juven@juven-ubuntu:bin$ rm apache-maven
juven@juven-ubuntu:bin$ ln -s apache-maven-3.1/ apache-maven

4、安装目录分析
(1)bin:包含了 mvn 运行的脚本

(2)boot:该目录只包含一个文件,plexus-classworlds- 2.2.3.jar,Maven使用该类加载器框架加载自己的类库

(3)conf:该目录包含了一个非常重要的文件 settings.xml。修改该文件,就能全局地定制 Maven 的行为。
但更偏向于复制该文件至 ~/.m2/目录下(~表示用户目录),然修改该文件,在用户范围定制 Maven 的行为。

(4)lib: 该目录包含了所有 Maven 运行时需要的 Java 类库
Maven本身是分模块开发的,因此用户能看到诸如 mavn-core-3.0.jar、maven-model-3.0.jar 之类的文件
还包含一些 Maven 用到的第三方依赖如 common-cli-1.2.jar、google-collection-1.0.jar 等等
可以说,这个 lib 目录就是真正的 Maven。用户可以在这个目录中找到 Maven 内置的超级POM。

5、仓库位置
maven 中央仓库位置:http://repo1.maven.org/maven2/
maven 本地仓库默认位置:~/.m2/repository

(1)运行 mvn help:system 让maven下载maven-help-plugin的 pom 和 jar 等文件到maven本地仓库。

(2)maven 本地仓库:所有的 Maven 构件(artifact)都被存储到该仓库中,以方便重用。位置:

Windows-> C:\Users\Juven Xu(windows用户名)\.m2\repository
类Unix-> /Users/Andy/.m2/repository
注意:如果.m2文件夹下没有settings.xml,则讲maven安装的settings.xml文件拷贝过来。

6、在eclipse中安装maven插件(myeclipse自带maven插件)

Help -> Install New Software...

核心组件
NAME:m2e
Location:http://m2eclipse.sonatype.org/sites/m2e

额外组件
主要是为了方便与其它工具如 Subversion进行集成,地址为 http://m2eclipse.sonatype.org/sites/m2e-extras

7、配置不同作用范围的settings.xml
$M2_HOME/conf/settings.xml 作用于系统所有用户
~/.m2/settings.xml 作用于系统当前用户(因为配置在用户自己的家目录下)

[maven] 实战笔记 - maven 安装配置的更多相关文章

  1. 1.Maven+SpringMVC+Eclipse软件安装配置,Maven报插件错误,Eclipse总是卡死的解决办法,导入一个maven工程后 一直显示importing maven project

     使用Maven+SpringMVC+Eclipse软件安装配置过程中的问题: 1.Eclipse总是卡死的解决办法: 一:内存不足所以会卡死,配置一下eclipse.ini修改这几个值就好了-X ...

  2. maven私服nexus3.9安装配置

    maven私服nexus3.9安装配置 私服介绍 私服是指私有服务器,是架设在局域网的一种特殊的远程仓库,目的是代理远程仓库及部署第三方构建.有了私服之后,当 Maven 需要下载构件时,直接请求私服 ...

  3. [maven] 实战笔记 - 构建、打包和安装maven

    ① 手工构建自己的maven项目 Maven 项目的核心是 pom.xml.POM (Project Object Model,项目对象模型)定义了项目的基本信息,用于描述项目如何构建,声明项目依赖等 ...

  4. Maven实战02_Maven的安装和配置

    1:在Windows上安装Maven 本人系统环境:win10  + JDK1.8 + apache-maven-3.3.9 在安装Maven之前,首先要确定你的Java环境是否已经配置好了,你是否已 ...

  5. Maven 学习笔记——Maven环境配置(1)

    在学习Selenium的过程中,接触到了Maven(项目管理工具),不至于学一路忘一路,左耳朵进右耳多出,还是决定边学边记录,毕竟听的不如 看的,看的不如写的吗.首先学一样东西,肯定得明确学的是什么, ...

  6. Maven实战:Maven生命周期

    前言 之前有写过一篇文章Maven实战,介绍了Maven的一些基本概念,以及对于一个初学者而言的Maven基础知识,当时在我看来掌握了这些基本是够用的. 随着工作的深入,越来越感觉对于Maven的理解 ...

  7. Maven 学习笔记——Maven和Eclipse(2)

    前面已经配置好Maven的环境和本地仓库已经准备好了,下面我们通过Eclipse创建Maven项目. 1.安装Maven集成于Eclipse IDE (Eclipse的版本中如果已经集成了Maven插 ...

  8. Maven实战——常用Maven插件介绍

    maven nexus 库已上传了第三方jar,但就是用mvn compile下不到本地 回答于 2013-06-04 14:40 你是通过何种方式上传到nexus的? 有给pom文件吗? 如果是单纯 ...

  9. Maven整理笔记のMaven仓库

    Maven坐标和依赖是任何一个构件在Maven世界中的逻辑表示方式:而构件的物理表示方式是文件,Maven通过仓库来统一管理这些文件.  Maven仓库 在Maven的世界中,任何一个依赖.插件或者项 ...

随机推荐

  1. Hardcoded string should use @string resource 警告

    在布局文件中,文本的设置使用如下写法时会有警告:Hardcoded string "下一步", should use @string resource <Button and ...

  2. 动画的使用—Drawable Animation

    Drawable Animation可以称为帧动画,因为它是通过每次播放一帧Drawable资源实现的. Drawable Animation算不上真正意义上的动画,因为它的内部实现是通过定时发送消息 ...

  3. Java回顾之网络通信

    在这篇文章里,我们主要讨论如何使用Java实现网络通信,包括TCP通信.UDP通信.多播以及NIO. TCP连接 TCP的基础是Socket,在TCP连接中,我们会使用ServerSocket和Soc ...

  4. 【Python】远离 Python 最差实践,避免挖坑

    原文链接:http://blog.guoyb.com/2016/12/03/bad-py-style/ 最近在看一些陈年老系统,其中有一些不好的代码习惯遗留下来的坑:加上最近自己也写了一段烂代码导致服 ...

  5. javascript遍历json对象数据的方法

    JSON中,有两种结构:对象和数组,对象是没有length这个属性,而数组结构是有的,下面分别说下这两种结构之间的区别和遍历方式. 1.对象 一个对象以“{”开始,“}”结束.每个“key”后跟一“: ...

  6. restframework api(基础3CBV)

    一 CBV源码流程 urls.py from django.conf.urls import url from django.contrib import admin from app01 impor ...

  7. 012PHP文件处理——copy rename file set_include_path

    <?php //copy rename file set_include_path /*file() 以行为单位返回数组 * */ /*$arr=file('b.txt'); foreach ( ...

  8. <NET CLR via c# 第4版>笔记 第10章 属性

    10.1 无参属性 10.1.1 自动实现的属性 10.1.2 合理定义属性 属性可以只读或只写,而字段访问总是可读和可写的(一个例外是 readonly 字段仅在构造器中可写). 属性方法可能抛出异 ...

  9. Alpha冲刺一 (8/10)

    前言 队名:拖鞋旅游队 组长博客:https://www.cnblogs.com/Sulumer/p/10023260.html 作业博客:https://edu.cnblogs.com/campus ...

  10. STL标准库-容器-list

    技术在于交流.沟通,本文为博主原创文章转载请注明出处并保持作品的完整性. list 表示非连续的内存区域,并通过一对指向首尾元素的指针双向链接起来,从而允许向前和向后两个方向进行遍历.在list 的任 ...