代码编织梦想

一、目标

让 maven 项目的镜像依次生效,达成 pom 依赖先去第一个镜像寻找依赖,如果找不到,再依次去后面的镜像寻找。

二、配置

1、步骤一

在 maven 的 settings.xml,去配置多镜像,如下面例子所示:

<mirrors>

     <mirror>
      <id>alimaven</id>
      <name>aliyun maven</name>
      <url> https://maven.aliyun.com/repository/central</url>
      <mirrorOf>central</mirrorOf>
    </mirror>

    <mirror>
      <id>central</id>
      <name>Maven Repository Switchboard</name>
      <url>https://repo1.maven.org/maven2/</url>
      <mirrorOf>central</mirrorOf>
    </mirror>

  <mirror>
    <id>aliyunmaven</id>
    <name>阿里云spring插件仓库</name>
    <url>https://maven.aliyun.com/repository/spring-plugin</url>
    <mirrorOf>central</mirrorOf>
  </mirror>

  <mirror>
    <id>repo2</id>
    <name>Mirror from Maven Repo2</name>
    <url>https://repo.spring.io/plugins-release/</url>
    <mirrorOf>central</mirrorOf>
  </mirror>

  </mirrors>

该配置设置了 4 个镜像,但镜像生效,是当一个镜像完全不可用,才会依次执行下一个镜像。接着要进行下面配置。
注意:
配置多个mirror时,mirrorOf不能配置*。*的意思就是(根据mirrorOf和repository的id)匹配所有的库(repository),这样就是说如果你需要某个jar,他会从镜像地址去下载这个jar。不管你配置了多少个库,即使这些库的地址不一样,仍然会从镜像地址访问。

2、步骤二

<profiles>
	<profile>
	   <id>jdk-1.8</id>
	   <activation>
	     <activeByDefault>true</activeByDefault>
	     <jdk>1.8</jdk>
	   </activation>
	   <properties>
	     <maven.compiler.source>1.8</maven.compiler.source>
	     <maven.compiler.target>1.8</maven.compiler.target>
	     <maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
	   </properties>
	 </profile>

	 <profile>
	     <id>nexus</id>
	     <repositories>
	         <repository>
	             <id>central</id>
	             <url>https://repo1.maven.org/maven2/</url>
	             <snapshots>
	                 <enabled>false</enabled>
	             </snapshots>
	             <releases>
	                 <enabled>true</enabled>
	             </releases>
	         </repository>
	         <repository>
	             <id>alimaven</id>
	             <url>https://maven.aliyun.com/repository/central</url>
	             <releases>
	                 <enabled>true</enabled>
	             </releases>
	             <snapshots>
	                 <enabled>true</enabled>
	             </snapshots>
	         </repository>
	         <repository>
	             <id>aliyunmaven</id>
	             <url>https://maven.aliyun.com/repository/spring-plugin</url>
	             <releases>
	                 <enabled>true</enabled>
	             </releases>
	             <snapshots>
	                 <enabled>true</enabled>
	             </snapshots>
	         </repository>
	         <repository>
	             <id>repo2</id>
	             <url>https://repo.spring.io/plugins-release/</url>
	             <releases>
	                 <enabled>true</enabled>
	             </releases>
	             <snapshots>
	                 <enabled>true</enabled>
	             </snapshots>
	         </repository>
	     </repositories>
	     <pluginRepositories>
	         <pluginRepository>
	             <id>central</id>
	             <url>https://repo1.maven.org/maven2/</url>
	             <snapshots>
	                 <enabled>false</enabled>
	             </snapshots>
	             <releases>
	                 <enabled>true</enabled>
	             </releases>
	         </pluginRepository>
	         <pluginRepository>
	             <id>alimaven</id>
	             <url>https://maven.aliyun.com/repository/central</url>
	             <releases>
	                 <enabled>true</enabled>
	             </releases>
	             <snapshots>
	                 <enabled>true</enabled>
	             </snapshots>
	         </pluginRepository>
	         <pluginRepository>
	             <id>aliyunmaven</id>
	             <url>https://maven.aliyun.com/repository/spring-plugin</url>
	             <releases>
	                 <enabled>true</enabled>
	             </releases>
	             <snapshots>
	                 <enabled>true</enabled>
	             </snapshots>
	         </pluginRepository>
	         <pluginRepository>
	             <id>repo2</id>
	             <url>https://repo.spring.io/plugins-release/</url>
	             <releases>
	                 <enabled>true</enabled>
	             </releases>
	             <snapshots>
	                 <enabled>true</enabled>
	             </snapshots>
	         </pluginRepository>
	     </pluginRepositories>
	 </profile>
</profiles>

3、步骤三

设置生效的 activeProfiles,指向上面 profile 的 id

<activeProfiles>
    <activeProfile>nexus</activeProfile>
</activeProfiles>
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/u011798348/article/details/136254630

maven配置本地仓库和远程仓库-爱代码爱编程

配置本地仓库 修改maven安装目录下conf/settings.xml,也可以在idea配置中覆盖<localRepository>E:\maven\MavenRepository</localRepository> 配置远程仓库 添加如下远程仓库 <!--阿里云公共仓库https://maven.aliyun.com

Maven配置多个mirror的问题-爱代码爱编程

今天写demo创建SpringBoot项目的时候出现了问题,发现是我的maven有问题,是因为我maven配置的是公司的私服,SpringBoot需要的依赖私服没有直接依赖(私服进行了封装),所以拿不到依赖,我就想配置多个mirror来解决该问题,想法是好的,就是不太行,具体原因请看下文。 虽然 mirrors 可以配置多个子节点,但是它只会使

Maven笔记整理-爱代码爱编程

Maven 环境配置 Maven 是一个基于 Java 的工具,所以要做的第一件事情就是安装 JDKMaven 自身安装需要大约 10 MB 空间。除此之外,额外的磁盘空间将用于你的本地 Maven 仓库。你本地仓库的大小取决于使用情况坐标 groupId:当前Maven项目隶属项目。 Maven项目和实际项目不一定是一对一的关系(模块的原因)

Maven仓库(镜像)的概念和执行顺序-爱代码爱编程

前言: 最近折腾maven仓库的管理和配置时,关于maven仓库的执行顺序和规则等乱七八糟一堆没咋搞清楚。去百度谷歌一堆发现没一个彻底说清楚的,包括官方文档也是生硬含糊。全是眉毛胡子一把抓,自己感觉说清楚了其实不知道他在说个啥。。。 于是自己整理梳理了下,一句话说得透透的!!!! 算是优化下整个中文开发环境的生态了 。😀😀😀 一句话: 本地仓库没有的

javaweb笔记整理+ssm+springboot(基础)_weixin_53031149的博客-爱代码爱编程

1.C/S 与2. B/S C/S结构应用程序(Client/Server):客户端----服务器结构。 凡是需要在客户的机器上安装客户端软件的应用程序都是CS架构的应用程序。 优点:响应速度快,安全性强,一般应用于局域网中。 缺点:需要经常更新客户端,开发维护成本高。

maven中如何配置多个仓库使其同时生效-爱代码爱编程

场景 有一个项目,我把代码跟本地maven依赖包从同事那里拷贝过来,然后打包却一直打不了,一直报aliyun仓库找不到这个依赖的错误,无论我改成引用本地仓库还是线上aliyun仓库都不行。 依赖

mvn 配置多个数据源同时使用_maven配置多个镜像同时都生效-爱代码爱编程

使用配置文件激活实现多仓库下载 在 Maven 配置文件中配置的 部分定义了 Maven 镜像的设置。 镜像的作用是在构建过程中,将对中央仓库(Central Repository)的访问请求重定向到镜像仓库,从而加速依赖项