Maven配置多个远程库(国内镜像库+私服库)

2024-05-25 19:08

本文主要是介绍Maven配置多个远程库(国内镜像库+私服库),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

      • 简介
      • 全局配置
      • 单独配置
      • 注意事项

简介

通常我们需要同时使用比如阿里云等国内镜像库,和公司内的私服库。在maven中,有2种方式可以配置多个远程库,来同时满足加速公共库,同时又能访问私有库的方式。

全局配置

全局配置,主要是在settings配置文件中配置,可以将常用的公共库,私服库配置进去。这样就不用在每个项目的pom文件中去配置了。
首先在settings配置文件中的<profiles></profiles>节点中定义好远程库,比如下面定义了阿里云的公共库和Cloudera的公共库,可以根据需要将公司私服库也定义进去:

 <profiles><profile><id>cloudera-repository</id><repositories><repository><id>cloudera</id><url>https://repository.cloudera.com/artifactory/cloudera-repos/</url><releases><enabled>true</enabled></releases><snapshots><enabled>true</enabled></snapshots></repository></repositories></profile><profile><id>aliyun-repository</id><repositories><repository><id>aliyun</id><url>http://maven.aliyun.com/nexus/content/groups/public</url><releases><enabled>true</enabled></releases><snapshots><enabled>true</enabled></snapshots></repository></repositories></profile></profiles>

然后,必须要激活

 <activeProfiles><activeProfile>aliyun-repository</activeProfile><activeProfile>cloudera-repository</activeProfile></activeProfiles>

特别要注意对应关系
activeProfile 对应的是<profile>中的id,不是<profile>中repository的id

单独配置

这个主要是在每个项目中的pom文件中配置。比如只有此项目要使用的某个私服库时可以配置进去。当然常用的库也可以选择配在这里而不是配置settings中,看个人需求。比如这样:

  <repositories><repository><id>aliyun-r</id><name>aliyun maven repo remote</name><url>http://maven.aliyun.com/nexus/content/repositories/central/</url><releases><enabled>true</enabled></releases><snapshots><enabled>true</enabled></snapshots></repository></repositories><repository><id>cloudera</id><url>https://repository.cloudera.com/artifactory/cloudera-repos/</url></repository>

注意事项

  1. 我们都知道中央仓库速度比较慢,通常会去配置国内镜像库来加速访问。但是不是很推荐在<mirrors>中去配置国内镜像库的镜像。因为这是镜像,不是分库,就是说maven并不会帮忙做这样事:a.jar在第一个mirror中不存在,拉不下来,使用第二个镜像来尝试拉取。因此,在<mirrors>定义多个镜像,幻想当第一个镜像中没有时去第二个镜像下载是行不通的,maven只会在第一个镜像连接失败的时候,才会尝试连接第二个镜像。(甚至有人说这个顺序都不是按照定义mirror的顺序,而是通过mirror id的字母排序?这个我没有深究)。其实要达到配置国内镜像库来加速访问的目的,可以就像上面全局配置那样,将国内镜像库比如阿里云,配置为远程库中的一个并激活即可,这样就可以加速了,或者单个项目中pom中配置,没有必要配置为<mirrors>中的镜像库

  2. 有时候,会发现不管你怎么修改配置,修改远程库地址,都无法生效,这个可以看一下我另一篇博文,希望有所帮助。

    传送门

这篇关于Maven配置多个远程库(国内镜像库+私服库)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1002371

相关文章

Maven如何手动安装依赖到本地仓库

《Maven如何手动安装依赖到本地仓库》:本文主要介绍Maven如何手动安装依赖到本地仓库问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、下载依赖二、安装 JAR 文件到本地仓库三、验证安装四、在项目中使用该依赖1、注意事项2、额外提示总结一、下载依赖登

Java中Switch Case多个条件处理方法举例

《Java中SwitchCase多个条件处理方法举例》Java中switch语句用于根据变量值执行不同代码块,适用于多个条件的处理,:本文主要介绍Java中SwitchCase多个条件处理的相... 目录前言基本语法处理多个条件示例1:合并相同代码的多个case示例2:通过字符串合并多个case进阶用法使用

CentOS7更改默认SSH端口与配置指南

《CentOS7更改默认SSH端口与配置指南》SSH是Linux服务器远程管理的核心工具,其默认监听端口为22,由于端口22众所周知,这也使得服务器容易受到自动化扫描和暴力破解攻击,本文将系统性地介绍... 目录引言为什么要更改 SSH 默认端口?步骤详解:如何更改 Centos 7 的 SSH 默认端口1

Android实现两台手机屏幕共享和远程控制功能

《Android实现两台手机屏幕共享和远程控制功能》在远程协助、在线教学、技术支持等多种场景下,实时获得另一部移动设备的屏幕画面,并对其进行操作,具有极高的应用价值,本项目旨在实现两台Android手... 目录一、项目概述二、相关知识2.1 MediaProjection API2.2 Socket 网络

Maven的使用和配置国内源的保姆级教程

《Maven的使用和配置国内源的保姆级教程》Maven是⼀个项目管理工具,基于POM(ProjectObjectModel,项目对象模型)的概念,Maven可以通过一小段描述信息来管理项目的构建,报告... 目录1. 什么是Maven?2.创建⼀个Maven项目3.Maven 核心功能4.使用Maven H

SpringBoot多数据源配置完整指南

《SpringBoot多数据源配置完整指南》在复杂的企业应用中,经常需要连接多个数据库,SpringBoot提供了灵活的多数据源配置方式,以下是详细的实现方案,需要的朋友可以参考下... 目录一、基础多数据源配置1. 添加依赖2. 配置多个数据源3. 配置数据源Bean二、JPA多数据源配置1. 配置主数据

Spring 基于XML配置 bean管理 Bean-IOC的方法

《Spring基于XML配置bean管理Bean-IOC的方法》:本文主要介绍Spring基于XML配置bean管理Bean-IOC的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一... 目录一. spring学习的核心内容二. 基于 XML 配置 bean1. 通过类型来获取 bean2. 通过

如何使用Nginx配置将80端口重定向到443端口

《如何使用Nginx配置将80端口重定向到443端口》这篇文章主要为大家详细介绍了如何将Nginx配置为将HTTP(80端口)请求重定向到HTTPS(443端口),文中的示例代码讲解详细,有需要的小伙... 目录1. 创建或编辑Nginx配置文件2. 配置HTTP重定向到HTTPS3. 配置HTTPS服务器

SpringBoot中配置Redis连接池的完整指南

《SpringBoot中配置Redis连接池的完整指南》这篇文章主要为大家详细介绍了SpringBoot中配置Redis连接池的完整指南,文中的示例代码讲解详细,具有一定的借鉴价值,感兴趣的小伙伴可以... 目录一、添加依赖二、配置 Redis 连接池三、测试 Redis 操作四、完整示例代码(一)pom.

Linux内核参数配置与验证详细指南

《Linux内核参数配置与验证详细指南》在Linux系统运维和性能优化中,内核参数(sysctl)的配置至关重要,本文主要来聊聊如何配置与验证这些Linux内核参数,希望对大家有一定的帮助... 目录1. 引言2. 内核参数的作用3. 如何设置内核参数3.1 临时设置(重启失效)3.2 永久设置(重启仍生效