1、maven
1.1、maven概述
Maven是一个项目管理工具,它包含了一个对象模型。 Maven的核心功能就是通过pom.xml文件的配置获取jar包不用手动的去添加jar包。当我们涉及到多模块的项目(包含成百个模块或者子项目),管理依赖就变成了一个极为困难的任务。传统的web项目中,我们必须将工程所依赖的jar包复制到很多个不同的工程,导致工程变的很大。
1.2 、目录结构及环境配置
目录解析:
环境配置步骤:右击“此电脑”——>“属性”——>“高级系统设置”——>“环境变量”——>z在系统变量中找到"path",双击打开——>(进入到存放maven文件的目录下,进入到bin目录,复制其地址并且粘贴到系统变量中)编辑系统变量。
1.3、maven仓库
仓库用于存储资源,主要是各种jar包。通俗来说仓库就是存放依赖和插件的地方。maven的仓库只有两大类:本地仓库 和远程仓库,在远程仓库中又分成了2种: 中央仓库 、 私服。
maven项目运行的逻辑图:
-
本地仓库
本地仓库就是存放在本地磁盘的maven仓库 。maven 的本地仓库,在安装 maven 后并不会创建,而是在第一次执行 maven 命令的时候才被创建 。
maven本地仓库默认位置:无论是 Windows 还是 Linux ,在用户的目录下都有一个 .m2/repository/的仓库目录。一般我们都会更改 maven 默认的本地仓库位置即在maven文件中找到config目录下 的 settings.xml 文件中使用 标签进行配置。具体步骤如下:
注:此时maven 的本地仓库地址就会变成自己配置的地址,是属于用户范围的。一般情况下不推荐全局范围的本地仓库,用户范围的本地仓库就可以了。
-
远程仓库
1.中央仓库
中央仓库是默认的远程仓库,maven在安装的时候,自带的就是中央仓库的配置。maven团队自身维护的仓库,属于开源的,一般来说,简单的Java项目依赖的构件都可以在这里下载到。
中央仓库官网:https://mvnrepository.com/
注:中央仓库需要网络才能访问,且国内下载速度慢。
2. 阿里云镜像
由于默认的官方 maven 仓库在国内下载速度太慢,所以在平时的开发中,我们往往不会使用默认的中央仓库,不仅是速度慢,可能项目的某些构件中央仓库是没有的,而其他远程仓库中有,如最常用的是阿里云仓库。
阿里云仓库官网:http://maven.aliyun.com/nexus/content/groups/public/
<mirror> <!-- 指定镜像ID(可自己改名) --> <id>nexus-aliyun</id> <!-- 匹配中央仓库(阿里云的仓库名称,不可以自己起名,必须这么写)--> <mirrorOf>central</mirrorOf> <!-- 指定镜像名称(可自己改名) --> <name>Nexus aliyun</name> <!-- 指定镜像路径(镜像地址) --> <url>http://maven.aliyun.com/nexus/content/groups/public</url> </mirror>
3.私服
私服是各公司或部门等小范围内存储资源的仓库,私服也可以从中央仓库获取资源。当Maven需要下载构件的时候,它从私服请求,如果私服上不存在该构件,则从外部的远程仓库下载,缓存在私服上之后,再为Maven的下载请求提供服务。我们还可以把一些无法从外部仓库下载到的构件上传到私服上。
优点:
- 可以减少重复请求造成的外网带宽消耗;
- 加速Maven构件,如果项目配置了很多外部远程仓库的时候,构建速度就会大大降低;
- 有些构件无法从外部仓库获得时,我们可以把这些构件部署到私服中,供内部maven项目使用;
- 网络不稳定时,maven构建也会变得不稳定,私服可以提高稳定性,增强控制;
- maven中央仓库被请求的数量是巨大的,配置私服也可以大大降低中央仓库的压力
-
优先级
1.4、在IDEA中配置maven
进入idea默认初始化页面,进行以下步骤:
若不是第一次打开idea,就会找不到默认初始页面。可以点击”File“找到"Close Project",点击后即会出现默认初始页面。
1.5 解决依赖导入出错问题
- 查看Maven(settings看是否是自己的maven)
- 查看jdk版本
- 仓库查看自己的jar包是否能够找到,如果报错的话,先删除依赖,然后刷新maven,重新添加依赖,刷新。删除repository下对应的依赖包,重新下载。