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项目开发时使用的是公司内部搭建的私有远程仓库。