maven中的仓库的配置与优先级

文章目录

  • [1 仓库的具体配置](#1 仓库的具体配置)
    • [1.1 settings.xml配置本地仓库](#1.1 settings.xml配置本地仓库)
    • [1.2 pom.xml配置的仓库](#1.2 pom.xml配置的仓库)
    • [1.3 settings.xml配置mirror镜像](#1.3 settings.xml配置mirror镜像)
    • [1.4 settings.xml配置profile仓库](#1.4 settings.xml配置profile仓库)
  • [2 结论](#2 结论)
    • [2.1 mirror中不代理`*`的拉取顺序](#2.1 mirror中不代理*的拉取顺序)
    • [2.2 mirror中代理了`*`的拉取顺序](#2.2 mirror中代理了*的拉取顺序)

1 仓库的具体配置

1.1 settings.xml配置本地仓库

xml 复制代码
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
	<!-- localRepository
   | The path to the local repository maven will use to store artifacts.
   |
   | Default: ${user.home}/.m2/repository
  <localRepository>/path/to/local/repo</localRepository>
  -->
	<localRepository>D:\Program Files\apache-maven-3.6.3\conf\repository</localRepository>
</settings>

1.2 pom.xml配置的仓库

xml 复制代码
<project>
    <repositories>
        <repository>
            <id>com.e-iceblue</id>
            <name>e-iceblue</name>
            <url>https://repo.e-iceblue.com/nexus/content/groups/public/</url>
        </repository>
    </repositories>
</project>

1.3 settings.xml配置mirror镜像

xml 复制代码
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
	<mirrors>
		<mirror>
			<id>aliyun-central</id>
			<name>aliyun-central</name>
			<mirrorOf>central</mirrorOf>
			<url>https://maven.aliyun.com/repository/central</url>
		</mirror>
		<mirror>
			<id>aliyun-spring</id>
			<name>aliyun-spring</name>
			<mirrorOf>spring</mirrorOf>
			<url>https://maven.aliyun.com/repository/spring</url>
		</mirror>
		<mirror>
			<id>aliyun-spring-plugin</id>
			<name>aliyun-spring-plugin</name>
			<mirrorOf>spring-plugin</mirrorOf>
			<url>https://maven.aliyun.com/repository/spring-plugin</url>
		</mirror>
	</mirrors>
</settings>

1.4 settings.xml配置profile仓库

xml 复制代码
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
	<servers>
		<server>
			<id>nexus-server</id>
			<username>uname</username>
			<password>pwd</password>
		</server>
	</servers>
	
	<profiles>
		<profile>
			<id>nexus</id>
			<repositories>
				<repository>
					<id>nexus-server</id>
					<name>Nexus Repository</name>
					<url>https://maven.nexus.com/repository/maven-public/</url>
					<snapshots>
						<enabled>true</enabled>
						<updatePolicy>always</updatePolicy>
					</snapshots>
				</repository>
			</repositories>
		</profile>
	</profiles>

	<!--让配置生效-->
	<activeProfiles>
		<activeProfile>nexus</activeProfile>
	</activeProfiles>
</settings>

2 结论

2.1 mirror中不代理*的拉取顺序

  1. settings.xml->本地仓库,如果没有则向下找
  2. settings.xml->profile中的仓库,如果没有则向下找
  3. pom.xml配置的仓库,如果没有则向下找
  4. settings.xml->mirror中代理central的仓库

2.2 mirror中代理了*的拉取顺序

mirror中一旦代理了*,则该配置优先级最高,其他的都不会走了。

但是有一种情况除外,就是mirror中代理了central仓库,那么如果代理*的 mirror中没有,则会找代理的central仓库

  1. settings.xml->本地仓库,如果没有则向下找
  2. settings.xml->mirror中代理*的仓库,如果没有则向下找
  3. settings.xml->mirror中代理central的仓库
相关推荐
咖猫34 分钟前
Google guava 最佳实践 学习指南之08 `BiMap`(双向映射)
java·开发语言·guava
娶个名字趴43 分钟前
Redis(2)常用命令
java·数据库·redis·缓存
滿44 分钟前
处理错误的两种方式:try...catch 与 then...catch
java·开发语言
Ttang231 小时前
Tomcat原理(4)——尝试手动Servlet的实现
java·开发语言·servlet·java-ee·tomcat·intellij-idea
lzz的编码时刻2 小时前
Java 8 Optional 详细使用教程-优雅解决NPE
java
计算机毕设指导62 小时前
基于Springboot林业产品推荐系统【附源码】
java·开发语言·spring boot·后端·mysql·spring·intellij-idea
CQU_JIAKE2 小时前
12.8&12.9[java exp4][debug]跨域问题原因详解
java·开发语言
南宫生2 小时前
力扣-图论-15【算法学习day.65】
java·学习·算法·leetcode·图论
洛嘚2 小时前
@FeignClient用于Nacos微服务间的接口调用
java·服务器
Q_19284999062 小时前
基于Spring Boot的社区药房系统
java·spring boot·后端