实战3:Maven仓库
任何一个依赖、插件,都可以称为构件,简单地描述为:在使用Maven过程当中所涉及到的所有的jar包,都称之为构件。在Maven项目中使用构件的方式都是完全相同的。
我们可以在某一个位置上存储了所有Maven项目共享的构件,这个统一的位置就是Maven仓库。通过Maven仓库,在不同项目上,不再单独存储各自的依赖文件,只需要在POM.XML文件去声明这些依赖的坐标,例如:groupId、artifactId、version等等。通过这些坐标元素就能够找到Maven仓库中的构件,即jar包文件,
Maven中的仓库是基于本地的文件系统存储的,可以直接从本地磁盘查找对应的groupId、artifactId等。
Maven仓库分为2类:本地仓库、远程仓库。当Maven根据坐标去寻找构件的时候,首先在本地仓库查看是否存在此构件,如果不存在/需要查看某构件是否有新版本,则再去远程仓库并下载构件到本地仓库以供使用。
本地仓库配置在C:\UserSoft\apache-maven-3.6.3\conf\
settings.xml
<localRepository/>就是用来自定义本地仓库路径,可以根据个人需求进行自定义设置。
Maven仓库用户分为2种:当前用户、全局用户。如果当前使用的Maven只是供个人用户使用的话,则在Maven安装目录下conf/settings.xml设置为全局用户;如果是多用户共享系统的话,这里使用用户级别的设置,可以把settings.xml文件复制到.m2目录,然后再在配置文件中修改本地仓库目录位置即可。
这种用户级别的设置,特别是遇到更换Maven版本的时候,可以直接把Maven的安装目录更换掉,就不需要再次配置全局用户仓库了。
对于Maven来说,每个用户只有一个本地仓库,但可以配置多个远程仓库。
远程仓库又分为2类:Maven核心自带的*仓库、除了*仓库之外的其他仓库,典型代表就是:局域网内部私服、其他公司提供的公共仓库。
远程仓库的作用就是当Maven无法在本地仓库找到构件时,就从远程仓库下载到本地仓库。
*仓库配置在pache-maven-3.6.3\lib\
maven-model-builder-3.6.3.jar\pom-4.0.0.xml中,该xml文件是基pom文件,Maven所有项目的pom都是继承自该POM文件。
这里就是*仓库的IP地址:https://repo.maven.apache.org/maven2。
这里的<layout>default</layout>代表当前使用的是默认的仓库布局,这里指的是项目的目录结构:
groupId
|--artifactId
|--metadata
|--version
|--artifact