Maven基础教程之安装与配置

前言

至于为何要写Maven这个系列呢?其实我本身仍是感慨颇深的,在去年一年的工做中,接触了一帮出差过来支撑的兄弟,可是这帮兄弟也都是刚走出校门的,或者从其它行业转过来作开发的,经验都不多,基础的Maven都不会配置,更不要说Maven的那些概念了。其实,在咱们周围不少的看似很厉害的“大牛”,他能和你侃侃而谈,从人工智能到大数据,从大数据到区块链等等,他们都能说出一二,可是一到落实的实处时,好比让他们“show me your code”的时候,他们老是很痛苦的,或者是漏洞百出的。因此,这个系列一来为须要补充Maven基础知识的兄弟提供一个捷径;二来总结一下本身Maven知识,以避免像那些“大牛”同样。html

Windows上安装Maven

首先咱们须要知道的事情是Maven是依赖JDK的,因此不论是在Windows仍是Linux,须要使用Maven,就必需要先安装JDK。每一个版本Maven对JDK的版本要去都不一致,咱们能够去Maven的官网下载页,能够看到Maven的安装要求。apache

对于Windows的安装来讲,咱们直接下载对应的安装包便可。关于Windows上安装Maven不是这篇文章的重点,我这里也就一笔带过,推荐网上的一篇教程吧。具体的安装步骤能够看这篇《Maven在Windows上的安装与配置》。框架

Linux上安装Maven

从Maven的官网下载安装包之后,进行解压。解压后获得apache-maven-3.6.0这个包;而后执行ln -s apache-maven-3.6.0 maven命令建立一个软连接,而后在系统环境变量PATH中添加如下环境变量:maven

export M2_HOME=~/maven
export PATH=$PATH:$M2_HOME/bin

检查Maven是否安装成功,只须要输入mvn -v,若是输出以下图所示,就是安装成功了。工具

安装成功

确定就有小伙伴会问了,为何要建立一个软连接。其实在Linux上安装软件包,我都有一个习惯,应该是咱们整个公司也都是这样要求的。安装软件包时,会在安装目录旁平行的建立一个符号连接,以方便未来升级;之后Maven升级时,只须要下载新版本的Maven包,解压放在平行目录,而后修改这个连接就能够了。区块链

Maven安装目录分析

M2_HOME环境变量指向Maven的安装目录。咱们能够看到Maven安装目录下有如下文件和文件夹:大数据

  • conf: 该目录包含了一个很是重要的文件settings.xml。直接修改该文件,就能在机器上全局地定制Maven的行为。而通常状况下,咱们都会复制该文件至~/.m2目录下,而后修改该文件,在用户范围定制Maven的行为;人工智能

  • bin:该目录包含了mvn运行的脚本,这些脚本用来配置Java命令,配置好classpath和相关的Java系统属性,而后运行执行Java命令。该目录除了包含Unix和Windows平台运行的脚本外,还包含一个m2.conf文件,这是classworlds的配置文件,后续还会细说;spa

  • boot: 该目录下只有一个plexus-classworlds-2.5.2.jar文件,plexus-classworlds是一个类加载器框架,相对于默认的Java类加载器,它提供了个更丰富的语法以方便配置,Maven使用该框架加载本身的类库;code

  • lib: 该目录包含了全部Maven运行时须要的Java类库,Maven是分模块开发的,因此这里有多个Jar包。

  • NOTICE: 记录了Maven包含的第三方软件;

  • LICENSE: 记录了Maven使用的软件许可证;

  • README.txt: 记录了Maven的简要介绍,包含安装需求及如何安装的简要命令等。

Maven安装最佳实践

  • 最佳实践一:设置MAVEN_OPTS环境变量 运行mvn命令其实是执行了Java命令,既然是运行Java,那么运行Java命令可用的参数固然也应该在运行mvn命令时可用。

    一般须要设置MAVEN_OPTS的值为-Xms128m -Xmx512m,由于Java默认的最大可用内存每每不可以知足Maven运行的须要。咱们通常把MAVEN_OPTS设置成环境变量。

  • 最佳实践二:配置用户范围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文件。

总结

这是一篇特别基础的Maven安装教程,对于Maven的入门有必定的帮助,但愿你们能经过个人整个系列能够入门Maven,丰富本身的工具库。

2019年3月23日,于内蒙古呼和浩特。


相关文章
相关标签/搜索