Maven settings.xml 私服上传和拉取配置
公司内部自行开发的依赖包需要上传到maven私服时,可以在项目的pom.xml中配置,也可以在本地计算机的maven目录settings.xml中配置。本文讲述的是如何在settings.xml中进行配置。
场景:有两个maven私服,其中一个为公司的,另一个为个人的,每个私服都有release库和snapshot库,加起来一共4个库:
公司的:company-release company-snapshot
个人的:personal-release personal-snapshot
下面的配置代码中的注释描述了配置方法
<?xml version="1.0" encoding="UTF-8"?>
<settings
xmlns="http://maven.apache.org/SETTINGS/1.2.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.2.0 https://maven.apache.org/xsd/settings-1.2.0.xsd"><!-- 本地仓库路径 --><localRepository>D:\maven\repo</localRepository><servers><!-- server标签用来配置私服的用户名和密码,每个repo都对应一个server,咱们有4个repo(公司release,公司snapshot,个人release,个人snapshot),当然就有4个server块。--><!--公司release --><server><!--server id要与profile中的repository id和altReleaseDeploymentRepository中的id一致 --><id>company-release</id><username>{your repo username}</username><password>{your repo password}</password></server><!--公司snapshot --><server><id>company-snapshot</id><username>{your repo username}</username><password>{your repo password}</password></server><!--个人release --><server><id>personal-release</id><username>{your repo username}</username><password>{your repo password}</password></server><!--个人snapshot --><server><id>personal-snapshot</id><username>{your repo username}</username><password>{your repo password}</password></server></servers><!-- 注意配置mirror时,mirrorOf一定要排除私服的repository id否则私服的仓库也会用mirror代理,导致找不到依赖。--><mirrors><mirror><id>aliyunmaven</id><!-- mirrorOf表示这个镜像是哪些repository的镜像,这里声明的是这个镜像是central, jcenter的镜像,那么自然私服不会被镜像代理。如果某个镜像想代理除私服之外的所有repository,那么就要使用排除法,写法为:<mirrorOf>*,!company-release,!company-snapshot,!personal-release,!personal- snapshot</mirrorOf>上面的"*"表示该镜像代理所有repository,"!"表示排除这个repository,这样除了带"!"的repo以外的所有repo都会被该镜像代理。--><mirrorOf>central,jcenter</mirrorOf><name>mirror</name><url>https://maven.aliyun.com/repository/public</url></mirror></mirrors><profiles><!-- 公司maven私服配置 --><profile><!-- profile id用于标识profile,当选择要激活哪个配置时会用到,下面会讲 --><id>company</id><properties><!-- altReleaseDeploymentRepository用于配置推送信息 标签里面的值格式为:repository-id::default::url 其中repository-id和下文的repository标签里的id是一样的,当然也就和server id一样,这样才能正确传递用户名密码。--><!-- altReleaseDeploymentRepository是release库信息当你往release库推送时会用到--><altReleaseDeploymentRepository>company-release::default::https://xxxx.xxx</altReleaseDeploymentRepository> <!-- altSnapshotDeploymentRepository是snapshot库信息当你往snapshot库推送时会用到--><altSnapshotDeploymentRepository>company-snapshot::default::https://xxxx.xxx</altSnapshotDeploymentRepository></properties><repositories><!-- repository用于配置拉取 --><repository><!-- repository id要和server id保持一致,才能正确传递用户名和密码。 --><id>company-release</id><!-- repo的url --><url>https://xxxx.xxx</url><releases><enabled>true</enabled></releases><snapshots><enabled>true</enabled></snapshots></repository><repository><id>company-snapshot</id><url>https://xxxx.xxx</url><releases><enabled>true</enabled></releases><snapshots><enabled>true</enabled></snapshots></repository></repositories></profile><!-- 个人的私服配置 --><profile><id>personal</id><properties><altReleaseDeploymentRepository>personal-release::default::https://xxxx.xxx</altReleaseDeploymentRepository><altSnapshotDeploymentRepository>personal-snapshot::default::https://xxxx.xxx</altSnapshotDeploymentRepository></properties><repositories><repository><id>personal-release</id><url>https://xxxx.xxx</url><releases><enabled>true</enabled></releases><snapshots><enabled>true</enabled></snapshots></repository><repository><id>personal-snapshot</id><url>https://xxxx.xxx</url><releases><enabled>true</enabled></releases><snapshots><enabled>true</enabled></snapshots></repository></repositories></profile></profiles><!-- 当存在多个私服时,选择要推送给哪个私服修改这里即可,将 <activeProfile></activeProfile>标签中的值改为上面配置的profile中对应远程库的profile id。然后你的项目的pom文件中,版本号中如果是x.x.x-SNAPSHOT结尾(注意SNAPSHOT要大写)的,maven会自动上传到snapshot库,否则上传到release库。比如你的项目的pom文件中写的版本号是"0.0.1-SNAPSHOT",那么使用"mvn deploy"命令就会自动上传到快照库。--><activeProfiles><activeProfile>company</activeProfile></activeProfiles><!--这里选择的是company私服配置,那么如果项目的pom中写的版本号是"0.0.1-SNAPSHOT",使用"mvn deploy"命令就会上传到公司私服的snapshot库。也就是前面代码定义的id叫做"company-snapshot"的repository。如果要上传到company-release库,那么版本号就写成"0.0.1"即可。-->
</settings>
相关文章:
Maven settings.xml 私服上传和拉取配置
公司内部自行开发的依赖包需要上传到maven私服时,可以在项目的pom.xml中配置,也可以在本地计算机的maven目录settings.xml中配置。本文讲述的是如何在settings.xml中进行配置。 场景:有两个maven私服,其中一个为公司的࿰…...
【STM32】MPU内存保护单元
注:仅在F7和M7系列上使用介绍 功能: 设置不同存储区域的存储器访问权限(管理员、用户) 设置存储器(内存和外设)属性(可缓冲、可缓存、可共享) 优点:提高嵌入式系统的健壮…...
用Python爬虫能实现什么?
Python 是进行网络爬虫开发的一个非常流行和强大的语言,这主要得益于其丰富的库和框架,比如 requests、BeautifulSoup、Scrapy 等。下面我将简要介绍 Python 爬虫的基础知识和几个关键步骤。 1. 爬虫的基本原理 网络爬虫(Web Crawler&#…...
【QT】label中添加QImage图片并旋转(水平翻转、垂直翻转、顺时针旋转、逆时针旋转)
目录 0.简介 1.详细代码及解释 1)原label显示在界面上 2)水平翻转 3)垂直翻转 4)顺时针旋转45度 5)逆时针旋转 0.简介 环境:windows11 QtCreator 背景:demo,父类为QWidget&a…...
CSP-J模拟赛day1
yjq的吉祥数 文件读写 输入文件 a v o i d . i n avoid.in avoid.in 输出文件 a v o i d . o u t avoid.out avoid.out 限制 1000ms 512MB 题目描述 众所周知, 这个数字在有些时候不是很吉利,因为它谐音为 “散” 所以yjq认为只要是 的整数次幂的数…...
Docker构建LNMP环境并运行Wordpress平台
1.准备Nginx 上传文件 Dockerfile FROM centos:7 as firstADD nginx-1.24.0.tar.gz /opt/ COPY CentOS-Base.repo /etc/yum.repos.d/RUN yum -y install pcre-devel zlib-devel openssl-devel gcc gcc-c make && \useradd -M -s /sbin/nologin nginx && \cd /o…...
《峡谷小狐仙-多模态角色扮演游戏助手》复现流程
YongXie66/Honor-of-Kings_RolePlay: The Role Playing Project of Honor-of-Kings Based on LnternLM2。峡谷小狐仙--王者荣耀领域的角色扮演聊天机器人,结合多模态技术将英雄妲己的形象带入大模型中。 (github.com) https://github.com/chg0901/Honor_of_Kings…...
Qt 使用Installer Framework制作安装包
Qt 使用Installer Framework制作安装包 引言一、下载安装 Qt Installer Framework二、简单使用2.1 创建目录结构 (文件夹结构)2.2 制作程序压缩包2.3 制作程序安装包 引言 Qt Installer Framework (安装程序框架)是一个强大的工具集,用于创建自定义的在线和离线安装…...
Typora 1.5.8 版本安装下载教程 (轻量级 Markdown 编辑器),图文步骤详解,免费领取(软件可激活使用)
文章目录 软件介绍软件下载安装步骤激活步骤 软件介绍 Typora是一款基于Markdown语法的轻量级文本编辑器,它的主要目标是为用户提供一个简洁、高效的写作环境。以下是Typora的一些主要特点和功能: 实时预览:Typora支持实时预览功能࿰…...
linux代填密码切换用户
一、背景 linux用户账户密码复杂,在不考虑安全的情况下,想要使用命令自动切换用户 二、操作 通过 expect 工具来实现自动输入密码的效果 yum install expect创建switchRoot.exp文件,内容参考下面的 #!/usr/bin/expect set username root…...
防火墙的经典体系结构及其具体结构
防火墙的经典体系结构及其具体结构 防火墙是保护计算机网络安全的重要设备或软件,主要用于监控和控制进出网络流量,防止未经授权的访问。防火墙的经典体系结构主要包括包过滤防火墙、状态检测防火墙、代理防火墙和下一代防火墙(NGFW…...
【BUG】已解决:note: This is an issue with the package mentioned above,not pip.
已解决:note: This is an issue with the package mentioned above,not pip. 欢迎来到英杰社区https://bbs.csdn.net/topics/617804998 欢迎来到我的主页,我是博主英杰,211科班出身,就职于医疗科技公司,热衷…...
【ARM】SMMU系统虚拟化整理
目录 1.MMU的基本介绍 1.1 特点梳理 2.功能 DVM interface PTW interface 2.1 操作流程 2.1.1 StreamID 2.1.2 安全状态: 2.1.3 HUM 2.1.4 可配置的操作特性 Outstanding transactions per TBU QoS 仲裁 2.2 Cache结构 2.2.1 Micro TLB 2.2.2 Macro…...
PYQT按键长按机制
长按按键不松开也会触发 keyReleaseEvent 事件,是由于操作系统的键盘事件处理机制。大多数操作系统在检测到键盘按键被长按时,会重复生成按键按下 (keyPressEvent) 和按键释放 (keyReleaseEvent) 事件。这种行为通常被称为“键盘自动重复”。 通过检测 …...
SAPUI5基础知识15 - 理解控件的本质
1. 背景 经过一系列的练习,通过不同的SAPUI5控件,我们完成了对应用程序界面的初步设计,在本篇博客中,让我们一起总结下SAPUI5控件的相关知识点,更深入地理解SAPUI5控件的本质。 通常而言,一个典型UI5应用…...
十七、【机器学习】【非监督学习】- K-均值 (K-Means)
系列文章目录 第一章 【机器学习】初识机器学习 第二章 【机器学习】【监督学习】- 逻辑回归算法 (Logistic Regression) 第三章 【机器学习】【监督学习】- 支持向量机 (SVM) 第四章【机器学习】【监督学习】- K-近邻算法 (K-NN) 第五章【机器学习】【监督学习】- 决策树…...
算法力扣刷题记录 五十六【501.二叉搜索树中的众数】
前言 二叉搜索树操作,继续。 记录 五十六【501.二叉搜索树中的众数】 一、题目阅读 给你一个含重复值的二叉搜索树(BST)的根节点 root ,找出并返回 BST 中的所有 众数(即,出现频率最高的元素)…...
分布式搜索引擎ES-Elasticsearch进阶
1.head与postman基于索引的操作 引入概念: 集群健康: green 所有的主分片和副本分片都正常运行。你的集群是100%可用 yellow 所有的主分片都正常运行,但不是所有的副本分片都正常运行。 red 有主分片没能正常运行。 查询es集群健康状态&…...
低代码与传统编程:快速高质量构建系统的比较与方法
在信息技术飞速发展的今天,企业对软件系统的需求不断增加。然而,如何在保证高质量的前提下快速构建系统成为了一个关键问题。本文将深入探讨低代码(Low-Code)开发与传统代码编程的区别,并探讨如何利用这两种方法快速高…...
WebRTC音视频-环境搭建
目录 期望效果 1:虚拟机和系统安装 2:WebRTC客户端环境搭建 2.1:VScode安装 2.2:MobaXterm安装 3:WebRTC服务器环境搭建 3.1:安装openssh服务器 3.2:安装Node.js 3.3:coturn穿透和转发服务器 3.3.1&a…...
OpenClaw多通道管理:GLM-4.7-Flash同时对接飞书与钉钉的配置技巧
OpenClaw多通道管理:GLM-4.7-Flash同时对接飞书与钉钉的配置技巧 1. 为什么需要多通道管理? 上周我接到一个技术咨询需求:一个小型内容团队需要同时在飞书和钉钉两个平台上接收AI助手服务。他们的编辑用飞书,运营用钉钉…...
梦行云软件——溯源系统-》企业方》产品溯源管理》员工管理
梦行云软件——溯源系统-》企业方》产品溯源管理》员工管理 湖南梦辰软件开发有限公司是立足怀化、服务全国的数字化技术服务商。公司拥有19项软件著作权及多项自主知识产权。专注于Web系统、APP与小程序定制开发,提供全链路数字化解决方案。以合规先行与稳定交付为…...
植物大战僵尸修改工具实战指南:从入门到精通
植物大战僵尸修改工具实战指南:从入门到精通 【免费下载链接】pvztoolkit 植物大战僵尸 PC 版综合修改器 项目地址: https://gitcode.com/gh_mirrors/pv/pvztoolkit 认知阶段:工具核心价值与基础架构 工具定位与适用场景 植物大战僵尸修改工具是…...
OpenClaw文件处理自动化:nanobot轻量模型实战案例
OpenClaw文件处理自动化:nanobot轻量模型实战案例 1. 为什么选择nanobot处理文件自动化 作为一个长期被各种文件整理工作困扰的技术写作者,我一直在寻找一个既轻量又智能的自动化解决方案。直到遇到OpenClaw框架下的nanobot镜像,这个内置Qw…...
相机潜能解锁:从限制突破到专业创作
相机潜能解锁:从限制突破到专业创作 【免费下载链接】OpenMemories-Tweak Unlock your Sony cameras settings 项目地址: https://gitcode.com/gh_mirrors/op/OpenMemories-Tweak OpenMemories-Tweak作为一款专为索尼相机设计的系统级解锁工具,通…...
别再只盯着find了!Linux系统隐藏文件和进程的5种“花活”与排查指南
Linux系统隐匿技术深度解析:从防御视角看5种高级隐藏手法与实战排查 在Linux系统安全领域,攻击者与防御者的博弈从未停止。当普通管理员还在使用ls和ps检查系统时,高级攻击者早已掌握多种隐匿技术。本文将揭示五种超越常规认知的隐藏手法&…...
STM32F103 Bootloader跳转失败?别急着怀疑Boot,先检查你的裸机APP中断向量表
STM32F103 Bootloader跳转失败?别急着怀疑Boot,先检查你的裸机APP中断向量表 当你的STM32F103项目采用HAL库Bootloader搭配裸机应用程序(APP)时,如果遇到Bootloader能正常启动HAL版本的APP却无法跳转裸机APP的情况&…...
【基于Tube的非线性系统模型预测控制MPC】基于鲁棒控制不变集的管式模型预测控制方案及其在利普希茨非线性系统中的应用附Matlab代码
✅作者简介:热爱科研的Matlab仿真开发者,擅长毕业设计辅导、数学建模、数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。🍎 往期回顾关注个人主页:Matlab科研工作室👇 关注我领取海量matlab电子书和…...
02.Linux常用文件操作命令
1.mkdir 目录名:创建目录 mkdir 目录名 mkdir -p a/b/c 创建多级目录 2.touch 创建空文件 touch 文件名 touch 文件名 文件名 创建多个文件 3.文件写入内容 echo写入 覆盖写入 echo 文件内容 >文件名 追加写入(日志必用) echo 文件内容 >…...
5分钟搞定ollama+qwen2.5模型配置:从下载到对话测试全流程指南
5分钟极速部署ollama与qwen2.5:零基础打造本地AI对话系统 在AI技术平民化的今天,拥有一个本地运行的对话模型不再是专业开发者的专利。本文将带您用最短时间完成ollama服务部署与qwen2.5模型配置,无需复杂环境搭建,从零开始构建属…...
