maven仓库和maven在eclipse中的应用 第二篇

maven仓库是项目中依赖的第三方库,maven仓库有三种类型:本地仓库(local)、中央仓库(central)、远程仓库(remote)

当我们执行 Maven 构建命令时,Maven 开始按照以下顺序查找依赖的库:
步骤 1 - 在本地仓库中搜索,如果找不到,执行步骤 2,如果找到了则执行其他操作。
步骤 2 - 在中央仓库中搜索,如果找不到,并且有一个或多个远程仓库已经设置,则执行步骤 4,如果找到了则下载到本地仓库中以备将来引用。
步骤 3 - 如果远程仓库没有被设置,Maven 将简单的停滞处理并抛出错误(无法找到依赖的文件)。
步骤 4 - 在一个或多个远程仓库中搜索依赖的文件,如果找到则下载到本地仓库以备将来引用,否则 Maven 将停止处理并抛出错误(无法找到依赖的文件)。

本地仓库
在运行maven项目的时候,所需要的任何构件(主要是jar)都是直接从maven本地仓库获取。如果本地仓库没有该构件的话,则首先尝试从远程仓库下载构件到本地仓库,然后再使用本地仓库的构件。

maven有一个默认的本地仓库,不管是Linux还是Windows操作系统,每个用户都有路径为${user.home}/.m2/repository的默认仓库。可以自定义修改仓库的存储位置,仓库可以有很多个,不同的项目可以使用不同的本地仓库。

可以修改默认的本地仓库,
复制一个settings.xml文件,修改仓库目录即可
这样就可以摆脱对c盘的依赖

配置本地仓库步骤
1.创建一个本地仓库文件夹,名字自取。例如:maven_repository
2.把本地仓库的位置配置到maven中
打开D:\maven\apache-maven-3.6.1\conf\settings.xml文件

找到settings节点,如下图添加自己的maven仓库路径

此时运行maven命令,将会下载依赖到指定的路径中,即maven仓库的位置。

maven在eclipse中的应用
打开eclipse---->Window---->Preferences---->Maven---->User settings
选择settings.xml的路径,自动配置本地仓库

中央仓库
maven中央仓库由maven社区提供,其中包含了大量常用的库。
maven默认的中央仓库: http://repo1.maven.org/maven2/(官方,速度一般)

如果maven在本地仓库和中央仓库都找不到依赖文件,则会停止构建过程并在控制台输出错误信息。

镜像用来代替中央仓库,速度比中央仓库快
maven仓库默认在国外,在国内使用会很慢,建议配置阿里云仓库

在conf\settings.xml文件中的mirror节点添加

<mirror>
   <id>alimaven</id>
   <name>aliyun maven</name>
   <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
   <mirrorOf>central</mirrorOf>        
 </mirror>

在pom文件里添加

<repositories>  
        <repository>  
            <id>alimaven</id>  
            <name>aliyun maven</name>  
            <url>http://maven.aliyun.com/nexus/content/groups/public/</url>  
            <releases>  
                <enabled>true</enabled>  
            </releases>  
            <snapshots>  
                <enabled>false</enabled>  
            </snapshots>  
        </repository>  
</repositories>

远程仓库(私有仓库)
中央仓库速度慢,访问量高,有时可能无法满足我们的项目需求。maven提供了远程仓库,它是开发人员自己定制的仓库。
有时项目所需要的构件是中央仓库没有的,而在其他远程仓库中有,在公司内做maven项目开发时使用的是公司内部搭建的私有远程仓库。

posted @ 2020-06-21 10:32  可可萝·瑾萱  阅读(137)  评论(0编辑  收藏  举报