maven中mirror和repository配置略解

概述

java开发中,经常用maven来管理依赖。

maven私有仓库获取依赖时,需要配置mavensetting.xml
其中就会需要配置setting.xmlprofile标签下的私服的repository信息.

而且因为maven中央仓库下载依赖太慢,网上一般建议配置阿里等国内的镜像地址.

maven仓库优先级:

  1. 本地仓库(localRepositories)
  2. profile中的repositories仓库
  3. POM中的repository
  4. mirrors全局仓库

mirror和repository关系

先说repository,顾名思义,就是仓库的意思,mavensetting.xml中有个默认仓库就是maven中央仓库.
repositories下会有多个仓库,maven会依次请求,第一个不可用则会使用第二个

标识我们下载依赖的时候都从这个仓库去下载,但是国内下载太慢,就会建议mirror中配置上阿里的地址,这里我们可以理解为mirror就像nginx的反向代理,我们去下载依赖的时候,其实是从阿里的镜像仓库去下载的。

这里就要说到这个repositoryidmirror中的mirrorOf标签,这两个是对应的,代表mirror需要代理哪个仓库.
*代表所有repository仓库都走这个镜像仓库.

配置demo如下

<mirror>
  <id>alimavenid>
  <name>aliyun mavenname>
  
  <mirrorOf>centralmirrorOf>
  <url>http://maven.aliyun.com/nexus/content/groups/public/url>
mirror>

<profiles>
	<profile>
		<id>配置文件idid>
		<repositories>
		  
		  <repository>
		   <id>centralid>
		   <name>Central Repositoryname>
		   <url>https://repo.maven.apache.org/maven2url>
		   <layout>defaultlayout>
		   <snapshots>
		    <enabled>falseenabled>
		   snapshots>
		  repository>
		repositories>
	<profile>
profiles>

<activeProfiles>
  
  <activeProfile>配置文件idactiveProfile>
activeProfiles>

你可能感兴趣的:(maven,springboot,maven,java)