当前位置: 首页 > news >正文

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私服时&#xff0c;可以在项目的pom.xml中配置&#xff0c;也可以在本地计算机的maven目录settings.xml中配置。本文讲述的是如何在settings.xml中进行配置。 场景&#xff1a;有两个maven私服&#xff0c;其中一个为公司的&#xff0…...

【STM32】MPU内存保护单元

注&#xff1a;仅在F7和M7系列上使用介绍 功能&#xff1a; 设置不同存储区域的存储器访问权限&#xff08;管理员、用户&#xff09; 设置存储器&#xff08;内存和外设&#xff09;属性&#xff08;可缓冲、可缓存、可共享&#xff09; 优点&#xff1a;提高嵌入式系统的健壮…...

用Python爬虫能实现什么?

Python 是进行网络爬虫开发的一个非常流行和强大的语言&#xff0c;这主要得益于其丰富的库和框架&#xff0c;比如 requests、BeautifulSoup、Scrapy 等。下面我将简要介绍 Python 爬虫的基础知识和几个关键步骤。 1. 爬虫的基本原理 网络爬虫&#xff08;Web Crawler&#…...

【QT】label中添加QImage图片并旋转(水平翻转、垂直翻转、顺时针旋转、逆时针旋转)

目录 0.简介 1.详细代码及解释 1&#xff09;原label显示在界面上 2&#xff09;水平翻转 3&#xff09;垂直翻转 4&#xff09;顺时针旋转45度 5&#xff09;逆时针旋转 0.简介 环境&#xff1a;windows11 QtCreator 背景&#xff1a;demo&#xff0c;父类为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 题目描述 众所周知&#xff0c; 这个数字在有些时候不是很吉利&#xff0c;因为它谐音为 “散” 所以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。峡谷小狐仙--王者荣耀领域的角色扮演聊天机器人&#xff0c;结合多模态技术将英雄妲己的形象带入大模型中。 (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 (安装程序框架)是一个强大的工具集&#xff0c;用于创建自定义的在线和离线安装…...

Typora 1.5.8 版本安装下载教程 (轻量级 Markdown 编辑器),图文步骤详解,免费领取(软件可激活使用)

文章目录 软件介绍软件下载安装步骤激活步骤 软件介绍 Typora是一款基于Markdown语法的轻量级文本编辑器&#xff0c;它的主要目标是为用户提供一个简洁、高效的写作环境。以下是Typora的一些主要特点和功能&#xff1a; 实时预览&#xff1a;Typora支持实时预览功能&#xff0…...

linux代填密码切换用户

一、背景 linux用户账户密码复杂&#xff0c;在不考虑安全的情况下&#xff0c;想要使用命令自动切换用户 二、操作 通过 expect 工具来实现自动输入密码的效果 yum install expect创建switchRoot.exp文件&#xff0c;内容参考下面的 #!/usr/bin/expect set username root…...

防火墙的经典体系结构及其具体结构

防火墙的经典体系结构及其具体结构 防火墙是保护计算机网络安全的重要设备或软件&#xff0c;主要用于监控和控制进出网络流量&#xff0c;防止未经授权的访问。防火墙的经典体系结构主要包括包过滤防火墙、状态检测防火墙、代理防火墙和下一代防火墙&#xff08;NGFW&#xf…...

【BUG】已解决:note: This is an issue with the package mentioned above,not pip.

已解决&#xff1a;note: This is an issue with the package mentioned above&#xff0c;not pip. 欢迎来到英杰社区https://bbs.csdn.net/topics/617804998 欢迎来到我的主页&#xff0c;我是博主英杰&#xff0c;211科班出身&#xff0c;就职于医疗科技公司&#xff0c;热衷…...

【ARM】SMMU系统虚拟化整理

目录 1.MMU的基本介绍 1.1 特点梳理 2.功能 DVM interface PTW interface 2.1 操作流程 2.1.1 StreamID 2.1.2 安全状态&#xff1a; 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 事件&#xff0c;是由于操作系统的键盘事件处理机制。大多数操作系统在检测到键盘按键被长按时&#xff0c;会重复生成按键按下 (keyPressEvent) 和按键释放 (keyReleaseEvent) 事件。这种行为通常被称为“键盘自动重复”。 通过检测 …...

SAPUI5基础知识15 - 理解控件的本质

1. 背景 经过一系列的练习&#xff0c;通过不同的SAPUI5控件&#xff0c;我们完成了对应用程序界面的初步设计&#xff0c;在本篇博客中&#xff0c;让我们一起总结下SAPUI5控件的相关知识点&#xff0c;更深入地理解SAPUI5控件的本质。 通常而言&#xff0c;一个典型UI5应用…...

十七、【机器学习】【非监督学习】- K-均值 (K-Means)

系列文章目录 第一章 【机器学习】初识机器学习 第二章 【机器学习】【监督学习】- 逻辑回归算法 (Logistic Regression) 第三章 【机器学习】【监督学习】- 支持向量机 (SVM) 第四章【机器学习】【监督学习】- K-近邻算法 (K-NN) 第五章【机器学习】【监督学习】- 决策树…...

算法力扣刷题记录 五十六【501.二叉搜索树中的众数】

前言 二叉搜索树操作&#xff0c;继续。 记录 五十六【501.二叉搜索树中的众数】 一、题目阅读 给你一个含重复值的二叉搜索树&#xff08;BST&#xff09;的根节点 root &#xff0c;找出并返回 BST 中的所有 众数&#xff08;即&#xff0c;出现频率最高的元素&#xff09;…...

分布式搜索引擎ES-Elasticsearch进阶

1.head与postman基于索引的操作 引入概念&#xff1a; 集群健康&#xff1a; green 所有的主分片和副本分片都正常运行。你的集群是100%可用 yellow 所有的主分片都正常运行&#xff0c;但不是所有的副本分片都正常运行。 red 有主分片没能正常运行。 查询es集群健康状态&…...

低代码与传统编程:快速高质量构建系统的比较与方法

在信息技术飞速发展的今天&#xff0c;企业对软件系统的需求不断增加。然而&#xff0c;如何在保证高质量的前提下快速构建系统成为了一个关键问题。本文将深入探讨低代码&#xff08;Low-Code&#xff09;开发与传统代码编程的区别&#xff0c;并探讨如何利用这两种方法快速高…...

WebRTC音视频-环境搭建

目录 期望效果 1:虚拟机和系统安装 2:WebRTC客户端环境搭建 2.1&#xff1a;VScode安装 2.2&#xff1a;MobaXterm安装 3:WebRTC服务器环境搭建 3.1&#xff1a;安装openssh服务器 3.2&#xff1a;安装Node.js 3.3&#xff1a;coturn穿透和转发服务器 3.3.1&a…...

Radon实战指南:在CI/CD中集成Python代码质量检查的完整教程

Radon实战指南&#xff1a;在CI/CD中集成Python代码质量检查的完整教程 【免费下载链接】radon Various code metrics for Python code 项目地址: https://gitcode.com/gh_mirrors/rad/radon Radon是一个强大的Python代码质量分析工具&#xff0c;能够帮助开发者自动检测…...

【限时解密】Photoshop 25.5 Beta隐藏功能+Midjourney API私有化接入指南(含已验证Webhook配置模板与错误码速查表)

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;Midjourney与Photoshop整合方案的演进逻辑与架构全景 随着生成式AI在创意工作流中的深度渗透&#xff0c;Midjourney与Photoshop的协同已从“图像导出→手动精修”的离散模式&#xff0c;演进为基于API…...

Spring Boot 2026教育技术演示项目全栈架构与工程实践解析

1. 项目概述&#xff1a;一个面向未来的教育技术演示 最近在整理开源项目时&#xff0c;我注意到了 holzerjm/GACEP-Spring-2026-demo 这个仓库。乍一看&#xff0c;这个标题信息量不小&#xff0c;它像是一个技术演示&#xff0c;但前缀 GACEP 和 Spring-2026 又透露出…...

技能图谱探索器:从数据建模到交互可视化的全栈实现

1. 项目概述&#xff1a;一个技能图谱的探索工具最近在GitHub上看到一个挺有意思的项目&#xff0c;叫nitzzzu/openclaw-skills-explorer。光看名字&#xff0c;openclaw和skills-explorer这两个词就挺有画面感的。我第一反应是&#xff0c;这应该是一个用来探索、梳理或可视化…...

从“共和国之辉”到AI原生应用:一个关于“哥布林”诞生的技术启示录

从“共和国之辉”到AI原生应用&#xff1a;一个关于“哥布林”诞生的技术启示录 2025年7月&#xff0c;一篇名为《Where the goblins came from》的文章在Hacker News上引发了超过710票的热议。当大多数技术评论者将目光聚焦于AI模型的最新突破时&#xff0c;这篇来自OpenAI的文…...

基于DGX OpenClaw Stack构建本地AI智能体:从硬件调优到生产部署

1. 项目概述&#xff1a;一站式本地AI智能体栈如果你和我一样&#xff0c;对把大语言模型&#xff08;LLM&#xff09;真正“养”在自己的硬件上&#xff0c;构建一个功能完整、数据私有的智能助手有执念&#xff0c;那么你很可能已经踩过不少坑了。从选模型、搭服务、配工具链…...

从样式覆盖到版本升级:全面解析Antd表格固定列对齐问题的解决路径

1. 问题复现&#xff1a;当Antd表格固定列开始"跳舞" 第一次遇到Antd表格固定列错位问题时&#xff0c;我正喝着咖啡调试一个后台管理系统。突然发现表格右侧的固定列像被施了魔法——表头和内容列完全错开&#xff0c;活像跳着蹩脚的探戈。这种问题在Antd 3.x版本中…...

逻辑表达式与真值表转换

逻辑表达式与真值表转换 真值表与逻辑表达式是数字电路设计的两种等价表示&#xff0c;掌握它们之间的转换是基本功。 &#x1f3af; 本章学习要点 理解真值表的结构和表示方法掌握从真值表写出逻辑表达式&#xff08;最小项之和&#xff09;掌握从逻辑表达式列出真值表了解最…...

团队知识管理的失效:人员流动如何不导致知识流失

一、软件测试团队知识管理的特殊价值与脆弱性在软件测试领域&#xff0c;知识是保障产品质量的核心资产。不同于开发环节的代码沉淀&#xff0c;测试知识兼具显性与隐性双重属性&#xff1a;显性知识体现在测试用例、缺陷报告、自动化脚本等文档中&#xff0c;而隐性知识则蕴含…...

GDScript Mod Loader:为Godot游戏打造专业模组生态的完整指南

1. 项目概述&#xff1a;为你的Godot游戏注入社区活力如果你是一名使用Godot引擎的独立游戏开发者&#xff0c;或者是一位热衷于为喜爱的游戏创造新内容的玩家&#xff0c;那么“模组”这个概念你一定不陌生。模组&#xff0c;或者说Mod&#xff0c;是游戏社区生命力的重要源泉…...