Maven安装与配置

在Windows上安装Maven

在安装Maven之前,先确保你的电脑上已安装JDK,由于网上安装JDK的教程不尽其数,所以就不再重复。打开Windows命令行,来检查Java安装:

  

 我们到Maven的官网去下载Maven文件,笔者在写这篇文章的时候,最新的Maven版本是3.6.3的压缩包,解压之后我们配置Maven的环境变量,在系统变量中新建一个变量,变量名为M2_HOME,变量值为Maven的安装目录,比如笔者的Maven压缩包是解压在D盘的F目录下:

因此笔者的Maven安装目录则为:D:Fmavenapache-maven-3.6.3。接着在系统变量中找到一个名为Path的变量,在变量值的末尾加上%M2_HOME%in;。注意:多个值之间要用分号隔开。值得注意的是Path变量,当我们再CMD中输入命令时,Windows会在当前目录中寻找可执行的文件或脚本,如果没有找到,Windows会接着遍历环境变量Path中定义的路径。由于将%M2_HOME%in配置到Path中,而这里%M2_HOME%实际上是引用了另一个变量,其值时Maven的安装目录。因此Windows会执行命令时会搜索D:Fmavenapache-maven-3.6.3in,而mvn执行脚本的位置就在这里。

因为配置新的环境变量后需要打开新的CMD窗口才能生效,所以我们打开一个新的CMD窗口检查Maven的安装情况:

另外在多说一点,为什么我们不直接在Path环境变量中配置D:Fmavenapache-maven-3.6.3in,而要多一个M2_HOME的环境变量呢?因为未来我们可能升级Maven的版本,如果我们频繁的修改Path环境变量中的值,有可能一不小心就改动到其他的配置,从而产生别的错误,而有了M2_HOME这个环境变量,我们只要将这个变量指向新的Maven版本即可,就不需要再去修改Path的值了。

安装目录分析

前面讲M2_HOME环境指向Maven的安装目录,之后我们都用M2_HOME指代安装目录。下面看一下该目录的结构和内容:

  • bin:该目录包含了mvn运行的脚本,这些脚本用来配置Java命令,准备好classpath和相关的Java系统属性,然后执行Java命令。其中mvn是基于Unix平台的shell脚本,mvn.cmd是基于Windows平台的bat脚本。在命令行输入一个mvn命令时,实际上就是调用这些脚本。该目录还包含mvnDebug和mvnDebug.cmd两个文件,分别也是Unix和Windows上的脚本。mvnDebug和mvn脚本有什么关系呢?打开文件我们可以看到,mvnDebug和mvn大致类似,只是mvnDebug多了一条MAVEN_DEBUG_OPTS配置,其作用就是在运行Maven时开启debug,以便调式Maven本身。此外,该目录还包含m2.conf文件,这是classworlds的配置文件,后面会介绍classworlds。
  • boot:该目录下有一个文件plexus-classworlds-2.6.0.jar。plexus-classworlds是一个类加载器框架,相对于默认的Java类加载器,它提供了更丰富的语法以方便配置,Maven使用该框架加在自己的类库。对于一般的Maven用户来说,不需要关心这个文件。
  • conf:该目录包含了一个非常重要的文件settings.xml。直接修改该文件,就能在机器上全局地定制Maven的行为。
  • lib:该目录包含了所有Maven运行时需要的Java类库,Maven本身是分模块开发的,因此用户能看到诸如maven-core-3.6.3.jar、maven-model-3.6.3.jar之类的文件,此外这里还包含一些Maven用到的第三方依赖如commons-cli-1.4.jar、commons-lang3-3.8.1.jar等等。
  • LICENSE:记录了Maven使用的软件许可证Apache License Version2.0。
  • NOTICE:记录了Maven包含的第三方软件。
  • README.txt:包含了Maven的简要介绍,包括安装需求及如何安装的简要指令等。

配置Maven本地仓库

Maven的本地仓库主要用于存放我们所需要的的jar包,开发项目时项目首先会从本地仓库中获取jar包,当无法获取指定jar 包的时候,本地仓库会从中央仓库中下载jar 包,并放到本地仓库中以备将来使用。默认地址位于 C:Users用户名.m2 目录下。如果不修改的话,C盘下的本地仓库会占用越来越多的磁盘空间,通常是不建议放仓库放在C盘,我们可以通过在M2_HOMEconfsetting.xml配置文件中修改配置,来修改仓库的位置。

我们先在setting.xml文件中全局搜索localRepository,会找到一段注释:

  <!-- localRepository
   | The path to the local repository maven will use to store artifacts.
   |
   | Default: ${user.home}/.m2/repository
  <localRepository>/path/to/local/repo</localRepository>
  -->

  

我们在注释下面添加这样一段代码:

<localRepository>D:Fworkjavamaven_repository</localRepository>

 

就可以修改仓库的位置了。

设置镜像

由于墙的原因,我们用Maven在拉取jar包时,往往会遇到网络原因的错误,同样可以修改M2_HOMEconfsetting.xml文件来配置镜像,首先我们全局搜索mirrors,会找到这样一段代码:

  <mirrors>
    <!-- mirror
     | Specifies a repository mirror site to use instead of a given repository. The repository that
     | this mirror serves has an ID that matches the mirrorOf element of this mirror. IDs are used
     | for inheritance and direct lookup purposes, and must be unique across the set of mirrors.
     |
    <mirror>
      <id>mirrorId</id>
      <mirrorOf>repositoryId</mirrorOf>
      <name>Human Readable Name for this Mirror.</name>
      <url>http://my.repository.com/repo/path</url>
    </mirror>
     -->
  </mirrors>

  

我们在mirrors元素中添加下面的代码,就可以使用阿里云镜像:

<mirror>
	<id>nexus-aliyun</id>
	<name>Nexus aliyun</name>
	<url>http://maven.aliyun.com/nexus/content/groups/public/</url> 
	<mirrorOf>central</mirrorOf> 
</mirror>

  

到此为止,我们基本上完成了Maven的安装与配置。

原文地址:https://www.cnblogs.com/beiluowuzheng/p/12735686.html