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-笔记的主要内容,如果未能解决你的问题,请参考以下文章

Maven基础-01-笔记

Maven基础-03-笔记

Maven基础-03-笔记

Maven基础-03-笔记

Maven笔记

Maven笔记