maven添加指定仓库和镜像

news2024/12/23 4:39:28

maven历史版本下载地址:https://archive.apache.org/dist/maven/maven-3/
maven版本和java版本的关系:https://maven.apache.org/docs/history.html

项目中添加仓库

有两种方式
1.在pom.xml中添加(优先级高)
2.在setting.xml中添加

在pom.xml中添加

<!--声明一个或多个远程仓库  -->
<repositories>
    <!-- 声明一个 Nexus 私服上的仓库  -->
    <repository>
        <!--仓库id  -->
        <id>nexus_id</id>
        <!-- 仓库的名称 -->
        <name>nexus_name</name>
        <!--仓库的地址  -->
        <url>nexus_repository_url</url>
        <!-- 是否开启该仓库的 release 版本下载支持 -->
        <releases>
            <enabled>true</enabled>
        </releases>
        <!-- 是否开启该仓库的 snapshot 版本下载支持 -->
        <snapshots>
            <enabled>true</enabled>
        </snapshots>
    </repository>
</repositories>
<!-- 声明一个或多个远程插件仓库 -->
<pluginRepositories>
    <!--声明一个 Nexus 私服上的插件仓库  -->
    <pluginRepository>
        <!--插件仓库 id -->
        <id>nexus_id</id>
        <!--插件仓库 名称 -->
        <name>nexus_name</name>
        <!-- 配置的插件仓库的地址 -->
        <url>nexus_repository_url</url>
        <!-- 是否开启该插件仓库的 release 版本下载支持 -->
        <releases>
            <enabled>true</enabled>
        </releases>
        <!-- 是否开启该插件仓库的 snapshot 版本下载支持 -->
        <snapshots>
            <enabled>true</enabled>
        </snapshots>
    </pluginRepository>
</pluginRepositories>

在setting.xml中添加

<profiles>
    <profile>
        <id>nexus</id>
        <!--声明一个或多个远程仓库  -->
        <repositories>
            <!-- 声明一个 Nexus 私服上的仓库  -->
            <repository>
                <!--仓库id  -->
                <id>nexus_id</id>
                <!-- 仓库的名称 -->
                <name>nexus_name</name>
                <!--仓库的地址  -->
                <url>nexus_repository_url</url>
                <!-- 是否开启该仓库的 release 版本下载支持 -->
                <releases>
                    <enabled>true</enabled>
                </releases>
                <!-- 是否开启该仓库的 snapshot 版本下载支持 -->
                <snapshots>
                    <enabled>true</enabled>
                </snapshots>
            </repository>
        </repositories>
        <!-- 声明一个或多个远程插件仓库 -->
        <pluginRepositories>
            <!--声明一个 Nexus 私服上的插件仓库  -->
            <pluginRepository>
                <!--插件仓库 id -->
                <id>nexus_id</id>
                <!--插件仓库 名称 -->
                <name>nexus_name</name>
                <!-- 配置的插件仓库的地址 -->
                <url>nexus_repository_url</url>
                <!-- 是否开启该插件仓库的 release 版本下载支持 -->
                <releases>
                    <enabled>true</enabled>
                </releases>
                <!-- 是否开启该插件仓库的 snapshot 版本下载支持 -->
                <snapshots>
                    <enabled>true</enabled>
                </snapshots>
            </pluginRepository>
        </pluginRepositories>
    </profile>
</profiles>

<activeProfiles>
    <activeProfile>nexus_id</activeProfile>
</activeProfiles>

项目下载依赖的顺序

在这里插入图片描述

怎么理解mirrorof

在setting.xml中声明镜像

<mirrors>
    <mirror>
        <id>xx</id>
        <name>xx</name>
        <mirrorOf>*</mirrorOf>
        <url>http://ip:port/nexus/xx</url>
    </mirror>
</mirrors>

mirrorOf其实就是拦截条件
比如one.jar依赖,本来要去仓库A才能下载,但当镜像中的mirrorOf为仓库A,则会跳转到镜像xx的地址http://ip:port/nexus/xx中去找该依赖,而不会再去仓库A中找

部署依赖到 Nexus

1.配置项目的 POM 文件。

<project>
    ...
    <distributionManagement>
        <repository>
            <id>repository_id1</id>
            <url>http://ip1:port1/xxxxxx</url>
        </repository>
        <snapshotRepository>
            <id>repository_id2</id>
            <url>http://ip2:port2/xxxxxx</url>
        </snapshotRepository>
    </distributionManagement>
</project>

2.在 setting.xml 中配置认证信息。

<settings>
    ...
    <servers>
        <server>
            <id>repository_id1</id>  <!--和pom.xml中的id保持一致-->
            <username>admin</username>
            <password>admin123</password>
        </server>
        <server>
            <id>repository_id2</id>  <!--和pom.xml中的id保持一致-->
            <username>admin</username>
            <password>admin123</password>
        </server>
    </servers>
</settings>

3.使用 mvn 命令部署构件。
mvn deploy

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/614515.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【已解决】-Mac/Mac mini/Macbook上修改鼠标指针大小

问题&#xff1a; MacOS默认的鼠标指针太小了&#xff0c;平时很容易找不到在哪里。 解决办法&#xff1a; 在 Mac 上&#xff0c;点击苹果菜单 >“系统偏好设置”&#xff0c;然后点按“辅助功能” 。 点击“显示”&#xff0c;然后点击“指针”。 设定以下任一选项…

【SQL】Oracle实现远程访问

文章目录 前言1. 数据库搭建2. 内网穿透2.1 安装cpolar内网穿透2.2 创建隧道映射 3. 公网远程访问4. 配置固定TCP端口地址4.1 保留一个固定的公网TCP端口地址4.2 配置固定公网TCP端口地址4.3 测试使用固定TCP端口地址远程Oracle 前言 Oracle&#xff0c;是甲骨文公司的一款关系…

CDN和Web加速器之间的区别

在数字时代&#xff0c;网站、社交媒体、电子商务、内容流平台和超个性化网络体验激增。因此&#xff0c;需要实时可靠地为最终用户提供大量生成的内容&#xff0c;而不会出现延迟或崩溃&#xff0c;无论其位置、网络、设备或浏览器如何。为此&#xff0c;使用CDN和web加速器就…

【模电实验】运算放大器构成的温度闭环控制系统的研究

运算放大器构成的温度闭环控制系统的研究 —、实验目的 设计并连接运算放大器构成的温度闭环控制系统&#xff0c;测量并调试该闭环控制系统&#xff0c;初步形成闭环控制的概念。 二、温度闭环控制系统的工作原理 图1所示为温度闭环控制系统框图&#xff0c;各部分工作原理…

vue3中setup语法糖那些事儿

vue3中setup语法糖那些事儿 什么是语法糖&#xff1f;vue3相比于vue2有什么新的语法糖?refreactivewatch生命周期Teleport setup语法糖<script setup>与传统vue3有何不同传统vue3和setup语法糖&#xff0c;两者之间写法如何转换&#xff1f; 什么是语法糖&#xff1f; …

NodeJs性能分析工具

&#xff08;头等人&#xff0c;有本事&#xff0c;没脾气&#xff1b;二等人&#xff0c;有本事&#xff0c;有脾气&#xff1b;末等人&#xff0c;没本事&#xff0c;大脾气。——南怀瑾&#xff09; NodeJs内存分析的必要性 回顾过去&#xff0c;我们排查web应用问题的途径…

EasyRecovery16计算机电脑硬盘格式化数据恢复软件

EasyRecovery16是一款综合性的数据恢复工具&#xff0c;软件具备非常成熟的算法&#xff0c;适用于多种数据丢失情况&#xff0c;可以帮助用户快速恢复不同介质丢失的数据。easyrcovery软件共有三种版本&#xff0c;分别为个人版、专业版、企业版。这三种版本的软件都可以免费使…

市场类型与完全竞争市场

短期完全竞争市场 区分市场类型的几条标准&#xff1a; 生产者的数量商品的同质性&#xff08;差异化程度&#xff09;进出市场的障碍信息是否完全 市场类型&#xff1a; 完全垄断寡头垄断垄断性竞争完全竞争 完全竞争市场的特征&#xff1a; 企业&#xff1a;数目多&…

Python学习41:文本分析(1)——统计文件中的字符

描述‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬ open(name[, mode[, bufferi…

MySQL了解之复制(一)

1.1、复制解决的问题 数据复制技术有以下一些特点&#xff1a; (1) 数据分布 (2) 负载平衡(load balancing) (3) 备份 (4) 高可用性(high availability)和容错 1.2、复制如何工作 从高层来看&#xff0c;复制分成三步&#xff1a; (1) master将改变记录到二进制…

第二十六章 开发Productions - ObjectScript Productions - 定义业务流程

文章目录 第二十六章 开发Productions - ObjectScript Productions - 定义业务流程介绍业务逻辑工具的比较 第二十六章 开发Productions - ObjectScript Productions - 定义业务流程 业务流程负责生产中的更高级别处理。本页介绍它们并讨论如何设计和开发业务流程类。 介绍 …

三分钟快速了解什么是MES系统

近年来在制造业的推动下&#xff0c;大家是否会经常听到MES系统这一词&#xff0c;但是对于其具体能解决什么问题却不是很清晰。接下来&#xff0c;请允许我用一个简单的故事来让大家快速地了解一下到底什么是MES系统以及MES系统能够解决什么问题。本文仅限于科普&#xff0c;没…

STM32F103xx 的USART1 移植到STM32F105RBT6

1. STM32F103 和 STM32F105 的时钟配置区别&#xff0c;STM32F105 默认使用的外部晶振是25Mhz&#xff0c;需要改成8Mhz stm32f10x.h #if !defined HSE_VALUE#ifdef STM32F10X_CL#define HSE_VALUE ((uint32_t)8000000) /*!< Value of the External oscillator in Hz …

初学Mybatis

1、Mybatis概述 Mybatis基于java的持久层框架&#xff0c;内部封装了JDBC&#xff0c;开发者只需要关注SQL语句 特点 1、sql语句在xml里&#xff0c;便于统一管理和优化 2、解除sql与程序代码耦合&#xff1a;通过DAO层&#xff0c;将业务逻辑和数据访问逻辑分离 提供映射标签&…

Spark简介和三种部署方式

1.Spark简介 1.1 Spark介绍 开源集群计算系统&#xff0c;致力于更快的处理数据 Both fast to run and fast to wrtie Spark 是专为大规模数据处理而设计的快速通用的计算引擎 Spark 可以完成各种运算&#xff0c;包括 SQL 查询、文本处理、机器学习等 Spark由Scala语言开发&a…

【618期间】超过200小时的课程全都有优惠,全年最好的加入有三AI学习的时间来了~...

正值2023年618期间&#xff0c;既然是全民购物节&#xff0c;有三AI所有付费的视频课程开启优惠活动&#xff0c;即日起至节日结束&#xff08;6月18日晚23:59&#xff09;。 当前已有课程包括数据使用/模型分析/图像分类/图像分割/目标检测/图像生成/图像翻译/图像增强/视频分…

Promise.allSettled使用

1、const apiList await Promise.allSettled([systemApi]).then((result: any) > { if (result[0].status fulfilled) { console.log(result[0].value) return result[0].value.data } }) console.log(apiList, apiList) 2、 const systemApi new Promise((resolve, rej…

Selenium Webdriver原理、架构过往今生

下方查看历史精选文章 重磅发布 - 自动化框架基础指南pdfv1.1大数据测试过程、策略及挑战 测试框架原理&#xff0c;构建成功的基石 在自动化测试工作之前&#xff0c;你应该知道的10条建议 在自动化测试中&#xff0c;重要的不是工具 简介 Selenium是一种流行的自动化测试工具…

[深度学习入门案例2]基于卷积神经网络与Keras构建人脸识别模型

文章目录 一、工具与环境 二、深度学习环境的搭建 三、基于卷积神经网络人脸识别模型的构建与测试 1.核心代码 第一步&#xff1a;采集自己和他人的人脸特征数据&#xff0c;分别对应数据标签0和1 第二步&#xff1a;训练识别人脸特征的模型&#xff0c;并将模型保存为.h5…

网络排障全景指南手册v1.0pdf 全网发布

大家好&#xff0c;这里是极客重生&#xff0c;我是大师兄&#xff0c;我把之前关于丢包排障文章整理了一下&#xff0c;形成一个网络丢包排障手册pdf文档 &#xff0c;希望可以帮助大家快速排障网络问题。 当前版本主要针对是服务端网络问题排障&#xff0c;包括网卡&#xff…