现在我们写项目很多都会使用到maven来进行项目依赖的管理,我们只需要告诉maven我们需要哪些jar包,maven就会帮我们下载,在这儿我简单的谈论一下maven的下载安装及我们项目中出错的几种场景。 注意:maven的安装需要依赖jdk的安装,所以必须先安装完成jdk且配置好jdk环境变量后在进行maven的安装!!!
首先我们需要去官网下载maven,maven下载的官方网址是:Maven – Download Apache Maven
点击链接的话,我们会进入这样一个页面:
在这个页面中我们向下滑动鼠标,就可以看到下图所示:
我们点击红色框里面的版本号就可以下载我们需要的maven里面,下载完maven后,我们进行解压安装就完成了maven的下载安装。
但是有些人可能不想要这个版本号的,想要其它的版本号,这个时候可以考虑点击下图所示
这个时候可以换别的版本号下载并且安装。
安装完maven后,我们还要创建一个repository仓库,目的是存储我们maven下载的jar包,大概放置路径和我们maven放在一个目录下就行了,我通常都是在D盘建立一个maven文件夹,把我们的maven和repository仓库都放在这个文件夹下面,如图所示:
这个时候基本上算好了,但是由于我们maven是从国外中央仓库下载jar包,下载的话比较慢,而且有可能因为网络不稳定导致下载中断报错等问题,给我们使用带来了很多的不便,为了方便使用,我们可以考虑配置个国内的镜像,同时可以把仓库地址改为我们的repository仓库地址,这个操作可以通过修改setting文件来解决,我的setting文件位置是D:\maven\apache-maven-3.8.1\conf,大家根据自己安装的路径去找到对应的setting文件,用编辑器打开,例如notepad++等均可,我这儿用的是idea打开的,配置仓库如下图所示:
接着我们需要配置我们的镜像仓库,国内的镜像仓库有很多,大家可以按照实际需求去配置阿里云,华为云或者别的云仓库均可,我这儿配置的是阿里云仓库,正所谓有图有真相,没图不说话,具体如下图所示:
到了这儿,我们的maven算是基本上完成了,为啥说是基本上,因为这样是可以用了,但是为了更方便我们使用,我们需要再配置下环境变量,先点击此电脑,再点击属性,在出来的页面中我们可以看到有个高级系统设置,如图所示:
点击高级系统设置后会弹出一个页面:
这时候,我们点击环境变量一个小页面,这个页面分为上下两部分,上面部分是“某某某的用户变量”的设置,针对的是当前你登录电脑的账户;下面部分是系统变量的设置,针对的是这台电脑,相当于是所有账户。对于自己使用的电脑来说,建议直接在下面部分的“系统变量”中来配置。
针对系统变量做讲解的话,首先我们需要在系统变量里面加上一行变量名与变量值,话不多说,上图:
为了方便呢管理,我这儿只放与maven有关的路径,这时候我们系统变量里面就有maven相关的变量了,这时候我们双击path变量,新建一参数,输入%MAVEN_HOME%\bin后点击确定即可。
环境变量path的作用:提供windows命令行中指令的可执行文件路径,当我们在命令行中键入指令时,根据环境变量中的path值,找到对应的指令可执行文件进行执行。简单的说就是配置在path中的目录参数,在命令行中的任何目录下都可以使用。
完成以上操作后点击确定保存并关闭配置界面。
到这儿maven的安装配置已经完成了。
为什么我们要进行那么多配置,接下来我们来聊聊一些小伙伴工作中遇到的小问题,张三入职一家新公司,第一天入职很兴奋拉了代码,结果发现注解报错,这个时候可能是setting文件的配置与项目要求的setting文件不一致导致的。张三把setting文件改了之后发现,注解不报错了,标签报错了,一番操作后发现,问题竟然是maven环境变量没有配置。优秀的张三把环境变量配置完之后,发现项目启动时候,出现报错信息如下:
Project build error: Non-resolvable parent POM for com.faw.openapi:faw-openapi:1.0: Failure to find com.tencent.tsf:spring-cloud-tsf-dependencies:pom:1.14.1-Finchley-RELEASE in http://129.84.195.113:8001/repository/maven-public/ was cached in the local repository, resolution will not be reattempted until the update interval of nexus has elapsed or updates are forced and 'parent.relativePath' points at wrong local POM
这个时候是由于maven版本过低导致的,换一个高版本就行了,但是有时候我们maven过高也会报错,所以小伙伴们要注意使用合适的maven版本。