Maven基础-01-笔记
Posted 寻7
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Maven基础-01-笔记相关的知识,希望对你有一定的参考价值。
Maven基础-01-笔记
Maven基础概念(坐标、仓库)
1、仓库
-
仓库:用于存储资源,主要是各种jar包
关于仓库,我们前面讲到了有三种:本地仓库,私服,中央仓库,其中私服和中央仓库都属于远程仓库 -
中央仓库:maven团队自身维护的仓库,属于开源的
-
私服:各公司/部门等小范围内存储资源的仓库,私服也可以从中央仓库获取资源
-
本地仓库:开发者自己电脑上存储资源的仓库,也可从远程仓库获取资源
-
私服的作用:
-
(1)保存具有版权的资源,包含购买或自主研发的jar。中央仓库中的jar包都是开源的,不能存储具有版权的资源。
-
(2)一定范围内共享资源,仅对内部开放,不对外共享。
-
2、坐标
-
我们说maven的仓库里存储了各种各样的资源(jar包),那这些资源我们如何找到它们呢?我们需要知道它们具体的一个位置才能知道如何找到它们,这个就叫坐标
-
坐标:maven中的坐标用于描述仓库中资源的位置
-
https://repo1.maven.org/maven2/ @在这里面可以找到maven中的jar包,并可以下载,但是有的包结构复杂不方便查找@
那maven中的坐标是如何构成的呢?
-
maven坐标的主要组成如下:
-
groupId:定义当前资源隶属组织名称(通常是域名反写,如:org.mybatis;com.itheima)
-
artifactId:定义当前资源的名称(通常是项目或模块名称,如:crm,sms)
-
version:定义当前资源的版本号
packaging:定义资源的打包方式,取值一般有如下三种
(1)jar:该资源打成jar包,默认是jar
(2)war:该资源打成war包
(3)pom:该资源是一个父资源(表明使用maven分模块管理),打包时只生成一个pom.xml不生成jar或其他包结构
-
如果要查询maven某一个资源的坐标,我们通常可以去maven的仓库进行查询,
-
https://mvnrepository.com/,在该网站中可直接搜索想要的资源,然后就能得到该资源的坐标
1)输入资源名称进行检索
2)点击你想要的资源进行查看
3)选择版本查看坐标
-
maven坐标的作用:
-
使用唯一标识,唯一性定义资源位置,通过该标识可以将资源的识别与下载工作交由机器完成。
3、仓库配置
-
开发者要在自己电脑上做开发,首先要做的就是配置本地仓库
-
默认情况下maven本地仓库的位置在哪儿呢?
-
我们可以选择在全局进行配置,在maven的配置文件
conf/settings.xml
中可以找到它的说明<!-- localRepository | The path to the local repository maven will use to store artifacts. | | Default: $user.home/.m2/repository <localRepository>/path/to/local/repo</localRepository> -->
-
也就是在系统盘当前用户目录下的
.m2/repository
,比如我当前的系统用户是zs
,则默认的本地仓库仓库位置在C:\\Users\\zs\\.m2\\repository
@不对setting.xml配置文件进行修改,默认本地仓库位置@ -
因为我们平时开发项目所有的资源会比较多,而且各种资源还有好多的版本,资源与资源之间还有相互依赖的这种情况,因此本地仓库保存的内容会非常的多,它的体积会很大,如果放在C盘下不太合适,因此我们可以自己来指定一个位置作为本地仓库的位置,这个指定同样是需要来修改maven的配置文件
conf/settings.xml
-
在我们前面查看这个文件的时候大家会发现它提供了一个标签
<localRepository>/path/to/local/repo</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:\\maven\\repository</localRepository>
-
如果是局部用户配置:在仓库的同级目录D:\\maven\\下也可以包含一个
settings.xml
配置文件,在里面也可以进行指定
注意:局部用户配置优先与全局配置(遇见相同配置项的时候)
-
@全局配置是maven安装包中conf包中的setting.xml文件@
-
@局部用户配置则是在仓库的同级目录中的setting.xml文件,该文件可以直接复制全局配置setting.xml,根据需要再修改(通常情况,保持两个文件内容一致)。像上面的全局setting中指明的仓库位置D:\\maven\\repository,则用户setting则放在D盘下maven目录中即可@
-
@全局setting和用户setting保持一致,万事大吉@
-
另外大家需要注意:maven默认连接的远程仓库位置是:(即中央仓库)
@上面配置的查看方式简单说明一下@
-
此站点并不在国内,因此有时候下载速度非常慢,因此我们可以配置一个国内站点镜像,可用于加速下载资源
-
我们在
conf/settings.xml
配置文件中找到<mirrors>
标签,在这组标签下添加镜像的配置,配置阿里云镜像仓库,如下<mirrors> <!--配置具体的仓库的下载镜像--> <mirror> <!--此镜像的唯一标识符,用来区分不同的mirror元素--> <id>nexus-aliyun</id> <!--对哪种仓库进行镜像,简单说就是替代哪个仓库--> <mirrorOf>central</mirrorOf> <!--镜像名称--> <name>Nexus aliyun</name> <!--镜像URL--> <url>http://maven.aliyun.com/nexus/content/groups/public</url> </mirror> </mirrors>
以上是关于Maven基础-01-笔记的主要内容,如果未能解决你的问题,请参考以下文章