###2.1 安装Maven### ####2.1.1 检查JDK安装####   在安装Maven之前,首先要确认你已经正确安装了JDK。Maven可以运行在JDK 1.4及以上的版本上。打开Windows的命令行,运行如下的命令来检查你的Java安装:
  echo %JAVA_HOME%
  java -version
  结果如图所示:
  
  上述命令首先检查环境变量JAVA_HOME是否指向了正确的JDK目录,接着尝试运行java命令。如果Windows无法执行java命令,或者无法找到JAVA_HOME环境变量。你就需要检查Java是否安装了,或者环境变量是否设置正确。 ####2.1.2 下载Maven####   请访问Maven的下载页面:Maven下载页面,其中包含针对不同平台的各种版本的Maven下载文件。现在最新的版本是apache-maven-3.3.3,如果对Maven的源代码感兴趣并想自己构建Maven,还可以下载apache-maven-3.3.3-src.zip。该下载页面还提供了md5校验和(checksum)文件和asc数字签名文件,可以用来检验Maven分发包的正确性和安全性。 ####2.1.3 本地安装Maven####   将安装文件解压到指定的目录D:\TDDOWNLOAD\apache-maven-3.3.3中,接着需要设置环境变量,将Maven安装配置到操作系统环境中。
  打开系统属性面板(桌面上右键单击“我的电脑”→“属性”),点击高级系统设置,再点击环境变量,在系统变量中新建一个变量,变量名为M2_HOME,变量值为Maven的安装目录D:\TDDOWNLOAD\apache-maven-3.3.3。点击确定,接着在系统变量中找到一个名为Path的变量,在变量值的末尾加上%M2_HOME%\bin;,注意多个值之间需要有分号隔开,然后点击确定。至此,环境变量设置完成。
  这里需要提一下的是Path环境变量,当我们在cmd中输入命令时,Windows首先会在当前目录中寻找可执行文件或脚本,如果没有找到,Windows会接着遍历环境变量Path中定义的路径。由于我们将%M2_HOME%\bin添加到了Path中,而这里%M2_HOME%实际上是引用了我们前面定义的另一个变量,其值是Maven的安装目录。因此,Windows会在执行命令时搜索目录D:\TDDOWNLOAD\apache-maven-3.3.3\bin,而mvn执行脚本的位置就是这里。
  明白了环境变量的作用,现在打开一个新的cmd窗口(这里强调新的窗口是因为新的环境变量配置需要新的cmd窗口才能生效),运行如下命令检查Maven的安装情况:
  echo %M2_HOME%
  mvn-v
  运行结果如图所示:
     第一条命令echo %M2_HOME%用来检查环境变量M2_HOME是否指向了正确的Maven安装目录;而mvn –version执行了第一条Maven命令,以检查Windows是否能够找到正确的mvn执行脚本。 ####2.1.4 升级Maven####   Maven还比较年轻,更新比较频繁,因此用户往往会需要更新Maven安装以获得更多更酷的新特性,以及避免一些旧的bug。
  在Windows上更新Maven非常简便,只需要下载新的Maven安装文件,解压至本地目录,然后更新M2_HOME环境变量便可。例如,假设Maven推出了新版本3.3.4,我们将其下载然后解压至目录D:\TDDOWNLOAD\apache-maven-3.3.4,接着遵照前一节描述的步骤编辑环境变量M2_HOME,更改其值为D:\TDDOWNLOAD\apache-maven-3.3.4。至此,更新就完成了。同理,如果你需要使用某一个旧版本的Maven,也只需要编辑M2_HOME环境变量指向旧版本的安装目录。 ###2.2 安装目录分析### ####  2.2.1 M2_HOME####
  安装之后的目录如下:
  

  • Bin: 该目录包含了mvn运行的脚本,这些脚本用来配置Java命令,准备好classpath和相关的Java系统属性,然后执行Java命令。其中mvn是基于UNIX平台的shell脚本,mvn.bat是基于Windows平台的bat脚本。在命令行输入任何一条mvn命令时,实际上就是在调用这些脚本。该目录还包含了mvnDebug和mvnDebug.bat两个文件,同样,前者是UNIX平台的shell脚本,后者是windows的bat脚本。那么mvn和mvnDebug有什么区别和关系呢?打开文件我们就可以看到,两者基本是一样的,只是mvnDebug多了一条MAVEN_DEBUG_OPTS配置,作用就是在运行Maven时开启debug,以便调试Maven本身。此外,该目录还包含m2.conf文件,这是classworlds的配置文件。
  • Boot: 该目录只包含一个文件,以maven 3.3.3为例,该文件为plexus-classworlds-2.5.2.jar。plexus-classworlds是一个类加载器框架,相对于默认的java类加载器,它提供了更丰富的语法以方便配置,Maven使用该框架加载自己的类库。更多关于classworlds的信息请参考http://classworlds.codehaus.org/ 。对于一般的Maven用户来说,不必关心该文件。
  • Conf: 该目录包含了一个非常重要的文件settings.xml。直接修改该文件,就能在机器上全局地定制Maven的行为。一般情况下,我们更偏向于复制该文件至~/.m2/目录下(这里~表示用户目录),然后修改该文件,在用户范围定制Maven的行为。后面将会多次提到该settings.xml,并逐步分析其中的各个元素。
  • Lib: 该目录包含了所有Maven运行时需要的Java类库,Maven本身是分模块开发的,因此用户能看到诸如mavn-core-3.3.3.jar、maven-model-3.3.3.jar之类的文件,此外这里还包含一些Maven用到的第三方依赖如common-cli-1.2.jar、google-collection-1.0.jar等等。(对于Maven 2来说,该目录只包含一个如maven-2.2.1-uber.jar的文件原本各为独立JAR文件的Maven模块和第三方类库都被拆解后重新合并到了这个JAR文件中)。可以说,这个lib目录就是真正的Maven。关于该文件,还有一点值得一提的是,用户可以在这个目录中找到Maven内置的超级POM。其他: LICENSE.txt记录了Maven使用的软件许可证ApacheLicense Version 2.0; NOTICE.txt记录了Maven包含的第三方软件;而README.txt则包含了Maven的简要介绍,包括安装需求及如何安装的简要指令等等。 ####  2.2.2 ~/.m2####   先运行一条简单的命令:mvn help:system。该命令会打印出所有的Java系统属性和环境变量,这些信息对我们日常的编程工作很有帮助。这里暂不解释help:system涉及的语法,运行这条命令的目的是为了让Maven执行一个真正的任务。我们可以从命令行输出看到Maven会下载maven-help-plugin,包括pom文件和jar文件。这些文件都被下载到了Maven本地仓库中。
      现在打开用户目录C:\Users\Administrator。在用户目录下,可以发现.m2文件夹。默认情况下,该文件夹下放置了Maven本地仓库.m2/repository。所有的Maven构件(artifact)都被存储到该仓库中,以方便重用。可以到~/.m2/repository/org/apache/maven/plugins/maven-help-plugins/目录下找到刚才下载的maven-help-plugin的pom文件和jar文件。Maven根据一套规则来确定任何一个构件在仓库中的位置。由于Maven仓库是通过简单文件系统透明地展示给Maven用户的,有些时候可以绕过Maven直接查看或修改仓库文件,在遇到疑难问题时,这往往十分有用。
      默认情况下,~/.m2目录下除了repository仓库之外就没有其他目录和文件了,不过大多数Maven用户需要复制M2_HOME/conf/settings.xml文件到~/.m2/settings.xml。 ###2.3 设置HTTP代理###   有时候公司由于安全因素考虑,要求使用通过安全认证的代理访问因特网。这种情况下,就需要为Maven配置HTTP代理,才能让它正常访问外部仓库,以下载所需要的资源。
      首先确认自己无法直接访问公共的Maven中央仓库,直接运行命令ping repo1.maven.org可以检查网络。如果真的需要代理,先检查一下代理服务器是否畅通,比如现在有一个IP地址为218.14.227.197,端口为3128的代理服务,可以运行telnet 218.14.227.197 3128来检测该地址的该端口是否畅通。如果得到出错信息,需要先获取正确的代理服务信息;如果telnet连接正确,则输入ctrl+],然后q,回车,退出即可。
      检查完毕之后,编辑~/.m2/settings.xml文件(如果没有该文件,则复制$M2_HOME/conf/settings.xml)。添加代理配置如下:
<settings>
…
<proxies><proxy><id>my-proxy</id><active>true</active><protocol>http</protocol><host>218.14.227.197</host><port>3128</port><!--<username>***</username><password>***</password><nonProxyHosts>repository.mycom.com|*.google.com</nonProxyHosts>--></proxy></proxies>…
</settings>

  这段配置十分简单,proxies下可以有多个proxy元素,如果声明了多个proxy元素,则默认情况下第一个被激活的proxy会生效。这里声明了一个id为my-proxy的代理,active的值为true表示激活该代理,protocol表示使用的代理协议,这里是http。当然,最重要的是指定正确的主机名(host元素)和端口(port元素)。上述XML配置中注释掉了username、password、nonProxyHost几个元素,当代理服务需要认证时,就需要配置username和password。nonProxyHost元素用来指定哪些主机名不需要代理,可以使用 | 符号来分隔多个主机名。此外,该配置也支持通配符,如*.google.com表示所有以google.com结尾的域名访问都不要通过代理。 ###2.4 配置用户范围settings.xml###   Maven用户可以选择配置$M2_HOME/conf/settings.xml或者~/.m2/settings.xml。前者是全局范围的,整台机器上的所有用户都会直接受到该配置的影响,而后者是用户范围的,只有当前用户才会受到该配置的影响。
  推荐使用用户范围的settings.xml,主要原因是为了避免无意识地影响到系统中的其他用户。当然,如果有切实的需求,需要统一系统中所有用户的settings.xml配置,当然应该使用全局范围的settings.xml。
  除了影响范围这一因素,配置用户范围settings.xml文件还便于Maven升级。直接修改conf目录下的settings.xml会导致Maven升级不便,每次升级到新版本的Maven,都需要复制settings.xml文件,如果使用~/.m2目录下的settings.xml,就不会影响到Maven安装文件,升级时就不需要触动settings.xml文件。

转载于:https://my.oschina.net/u/1415012/blog/505430

第二章 Maven的安装和配置相关推荐

  1. 第2章 Maven的安装与配置

    1 在Windows上安装Maven 1.1 检查JDK安装 打开cmd,运行java-version命令判断是否按照JDK 1.2 下载Maven 访问Maven下载页面:Maven下载,windo ...

  2. Maven的安装、配置及使用入门

    原文地址为: Maven的安装.配置及使用入门 本书代码下载 大家可以从我的网站下载本书的代码:http://www.juvenxu.com/mvn-in-action/,也可以通过我的网站与我取得联 ...

  3. MAVEN的安装与配置教程(超详细版)

    前言:在MAVEN的安装和配置开始之前,先给大家介绍一下MAVEN. 1.MAVEN的认识 1.1什么是MAVEN? Maven是一个项目构建及管理工具,开发团队几乎不用花多少时间就能够自动完成工程的 ...

  4. 《Cacti实战》——第2章 环境的安装和配置

    本节书摘来自华章计算机<Cacti实战>一书中的第2章,作者:刘钊,张跃著, 更多章节内容可以访问云栖社区"华章计算机"公众号查看. 第2章 环境的安装和配置 上一章介 ...

  5. Maven下载安装与配置环境变量与配置本地仓库

    一.Maven下载 1.下载官网 https://maven.apache.org/download.cgi 2.进入官网,找到对应版本,选择zip文件,点击下载. 3.下载到电脑上. 4.解压压缩包 ...

  6. WIN10环境下MAVEN的安装与配置

    前言 写博客的目的是为了记录所学的知识,以后忘了也能快速找到,不用临时去搜索.其中主要参考了这篇博客:http://blog.csdn.net/jiuqiyuliang/article/details ...

  7. jenkins中maven的安装及配置,如何在jenkins中创建maven任务。

    本文介绍了在jenkins中maven的安装及配置(安装maven及jdk的方法),以及如何在jenkins中创建maven任务. 有三点需要注意的地方. maven一定要安装在jenkins服务器上 ...

  8. SSM框架搭建--maven的安装和配置

    一.什么是maven? Maven是一个项目管理工具,它包含了一个项目对象模型 (Project Object Model),一组标准集合,一个项目生命周期(Project Lifecycle),一个 ...

  9. Maven的安装与配置及碰到的问题(自我总结)

    Maven的安装与配置及碰到的问题(自我总结) Maven下载 安装及配置环境 设置setting.xml 可能遇到的问题 Maven下载 首先到官网链接https://maven.apache.or ...

  10. 【Maven】Eclipse中的Maven项目安装与配置

    上一篇文章我们了解到了Maven的基本信息和如何在电脑本地安装Maven,这篇文章主要介绍如何在Eclipse关联Maven的配置和本地仓储地址,并且如何创建一个Maven项目.关联依赖包等. 一.关 ...

最新文章

  1. 【Pandas库】(5) 索引操作--增、删
  2. LIVE 预告 | 华为诺亚韩凯:Transformer in Transformer
  3. Sql语句在线转java bean https://www.bejson.com/othertools/sql2pojo/
  4. 【Android 安装包优化】资源混淆 ( AAPT2 资源编译工具 | resources.arsc 资源映射表 工作机制 )
  5. Matlab Robotic Toolbox V9.10工具箱(五):动力学简介
  6. 解决intellij IEDA mapper.xml文件警告以及could not autowire的错误提示
  7. SpringBoot开发案例之CountDownLatch多任务并行处理
  8. 高德API地名转化为坐标
  9. c#虹软2.0免费人脸识别 实例
  10. 显示器最大分辨率测试软件,液晶显示器分辨率快速设置工具
  11. VC2012学习笔记(控件)
  12. oracle查询日志空间大小,ORACLE 管理 日志与空间
  13. 深入浅出曲面的切平面方程和曲面的法线方程
  14. FeedDemon不能同步google reader的问题
  15. 电脑无法显示计算机,U盘插在电脑无法显示盘符怎么办的解决办法
  16. linux startx无效_LINUX startx命令-用来启动X Window
  17. 全“芯”升级,浩辰CAD 2021赋能全国产化CAD应用
  18. Distantly Supervised Named Entity Recognition using Positive-Unlabeled Learning(DS——NER识别(减少人工参与))
  19. 主流浏览器有哪些?这些浏览器的内核分别是什么?
  20. python学习第八天---用Django框架创建可重用注册登录系统

热门文章

  1. 数学建模算法体系分类
  2. android的自定义字体,Android中使用自定义字体的方法
  3. vue 后台系统引入pdf安装包
  4. android studio拟器,十二、安装Android Studio 模拟器
  5. 在Latex如何添加Visio绘图
  6. 企业架构皇冠上的明珠:TOGAF
  7. 烟台市建筑物矢量数据(Shp格式+带高度)
  8. 安装Redis教程(详细过程)
  9. python人工智能小程序_推荐几款“真”人工智能技术小程序
  10. C语言冒泡排序法及代码