maven仓库配置
配置文件
在讲配置仓库之前,我们先了解配置文件相关路径。maven配置分为全局配置和用户配置。
全局配置所在的路径是${maven_home}/conf/setting.xml
用户级配置所在路径在${user.home}/.m2/settings.xml
当然还有项目级别的配置在项目的pom.xml文件中,这在后面会提及。
我们可以根据需求在不同配置文件中进行配置
指定本地仓库位置
本地仓库地址是maven下载jar包后缓存jar包的地方,他的默认地址是${user.home}/.m2/repository
我们可以在全局配置或者用户级配置使用一下标签进行覆盖自定义
<localRepository>
path/to/your/repository
</localRepository>
指定远程仓库镜像
有时候可能中央仓库的速度比较慢,我们可以指定其他仓库镜像代替中央仓库。格式如下
<mirror>
<id>mirrorId</id>
<mirrorOf>repositoryId</mirrorOf>
<name>Human Readable Name for this Mirror.</name>
<url>http://my.repository.com/repo/path</url>
</mirror>
其中id唯一标识该仓库;
url表示要从哪个地址下载依赖;
mirrorOf表示是哪种仓库的镜像,假如我们要做中央仓库的镜像,那么mirrorOf应该为central
假如我们要使用阿里云镜像作为中央仓库的镜像,我们可以这样指定
<mirrors>
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
</mirrors>
在pom.xml中指定仓库地址
有一种情况是我们的依赖的jar包没有在中央仓库和本地的仓库中,那么我们可以通过<repositories>指定在pom.xml中指定本地仓库地址指向这些jar包的位置
例如阿里云短信sdk的Jar包放在/libs文件夹中,其中${basedir}是项目的根目录
<dependencies>
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>aliyun-java-sdk-core</artifactId>
<version>3.3.1</version>
</dependency>
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>aliyun-java-sdk-dysmsapi</artifactId>
<version>1.0.0</version>
</dependency>
</dependencies>
<repositories>
<repository>
<id>localRepository</id>
<url>file://${basedir}/libs</url>
</repository>
</repositories>
maven查找依赖的顺序
(1)在本地仓库中搜索,如果没有找到,跳到第二步
(2)在Maven中央仓库搜索,如果没有找到,进入第三步
(3)在POM指定的repo地址中查找,如果没有找到,报错