Maven私服搭建
为什么要搭建私服
通常在maven项目的pom.xml文件中引入了某个依赖包之后,maven首先会去本地仓库去搜索,本地仓库搜索不到会去maven的配置文件settings.xml中配置的maven镜像地址去找,比如:
<mirrors><!-- mirror| Specifies a repository mirror site to use instead of a given repository. The repository that| this mirror serves has an ID that matches the mirrorOf element of this mirror. IDs are used| for inheritance and direct lookup purposes, and must be unique across the set of mirrors.|<mirror><id>mirrorId</id><mirrorOf>repositoryId</mirrorOf><name>Human Readable Name for this Mirror.</name><url>http://my.repository.com/repo/path</url></mirror><mirror><id>maven-default-http-blocker</id><mirrorOf>external:http:*</mirrorOf><name>Pseudo repository to mirror external repositories initially using HTTP.</name><url>http://0.0.0.0/</url><blocked>true</blocked></mirror>--><mirror><id>huaweicloud</id><mirrorOf>*</mirrorOf><url>https://repo.huaweicloud.com/repository/maven/</url></mirror><mirror><id>aliyunmaven</id><mirrorOf>*</mirrorOf><name>阿里云公共仓库</name><url>https://maven.aliyun.com/repository/public</url></mirror></mirrors>
我配置了华为云与阿里云的镜像,先去华为云的镜像仓库去找,找不到再去阿里云的镜像仓库去找,都找不到就会去中央仓库去找,中央仓库在漂亮国那,访问国外的网站肯定会慢很多,有时候还连不上,如果中央仓库还找不到就会报错了。
如果你自己或者你们公司写了一个公共模块的工具包,没有私服的情况下其他人想引用就必须把这个包下载到本地仓库(因为一般人没有资格去把自己写的工具包放到中央仓库或者华为云阿里云私服的),需要执行以下命令:
mvn install:install-file
-Dfile=common-util-0.0.1-SNAPSHOT.jar
-DgroupId=com.kite
-DartifactId=common-util
-Dversion=0.0.1-SNAPSHOT
-Dpackaging=jar
如果引入的包做了修改,本地还需要重新执行命令。
所以说,一个公司里面搭建一个自己的私服很有必要。不仅可以保证引入包的稳定性 ,还可以提高项目开发灵活度与效率。
私服搭建流程
1、搭建maven私服的管理软件
有专门的Maven仓库管理软件来搭建私服,比如:Apache Archiva,Artifactory,Sonatype Nexus。
这里我们选择nexus-2.12.0版本的,因为匹配的jdk版本是1.8
如果jdk版本更高得用更高版本的nexus,比如nexus-3.25.1
由于是国外的网站,下载比较慢,所以两个版本的我都放在百度网盘了。
链接:https://pan.baidu.com/s/1_II-DzDk7xSPD1n9H71bAg
提取码:t9wr
本文在虚拟机linux系统中搭建私服。
下载下来后包压缩包传到Linux虚拟机中。
对压缩包进行解压:
tar -zxvf nexus-2.12.0-01-bundle.tar.gz
等待执行完毕,会出现一个解压之后的包:nexus-2.12.0-01
打开这个包下面的bin目录,里面有个nexus文件,使用./nexus start开始运行。
至此就完成了。然后使用浏览器访问:ip地址:8081nexus
会看到以下页面,右上角会有一个登录按钮:
默认用户名是admin,密码是admin123
通常情况下,以上三步就可以完成安装,如果有问题,并且提示“ NOT RECOMMENDED TO RUN AS ROOT ”,可以通过修改 /bin/nexus
文件,在其中加入 RUN_AS_USER=root
,然后重新启动即可。另外,如果是 docker 环境,可以直接获取 nexus 的镜像完成安装。
修改一下私服配置:
设置密码为123456
配置完成。
将项目工具包发布到Nexus私服
首先确定私服中的用于发布项目的用户名和密码
deployment用户是默认用于发布项目的用户,确认此用户的密码
项目会发布到 snapshots这个仓库下
在maven配置文件settings.xml中,配置服务器身份验证配置
<servers><!-- 私服中用于发布项的用户和密码 --><server><id>user-release</id><username>deployment</username><password>123456</password></server><server><id>user-snapshot</id><username>deployment</username><password>123456</password></server></servers>
在你需要发布的项目POM文件中添加以下配置,添加两个仓库的URL,同时id必须与上面Maven中配置的身份验证的id保持一致
<distributionManagement><repository><id>user-release</id><name>user project release</name><url>http://ip地址:8081/nexus/content/repositories/releases</url></repository><snapshotRepository><id>user-snapshot</id><name>user snapshot</name><url>http://ip地址:8081/nexus/content/repositories/snapshots</url></snapshotRepository></distributionManagement>
配置完成后通过指令: mvn clean deploy 进行发布。
在私服中查看是否发布成功:
相关文章:

Maven私服搭建
为什么要搭建私服 通常在maven项目的pom.xml文件中引入了某个依赖包之后,maven首先会去本地仓库去搜索,本地仓库搜索不到会去maven的配置文件settings.xml中配置的maven镜像地址去找,比如: <mirrors><!-- mirror| Specif…...

Ajax和Json综合案例
1. 查询所有 创建brand.html,使用axios发送请求,其中查询一般采用get的请求方式 <script src"js/axios-0.18.0.js"></script><script>//1. 当页面加载完成后,发送ajax请求window.onload function () {//2. 发送ajax请求axi…...

【genius_platform软件平台开发】第九十四讲:int64_t的格式化问题(lld和PRId64)
问题起因是在进行上位机软件优化的工作安排时,同事对unsigned long long 类型的时间戳进行了格式化输出优化,从%ull优化为了% PRIu64,我进行代码合并请求处理的时候突然感觉这个可以仔细查一下。查阅到的相关资料如下: * 1. int6…...

多模态之clip
论文:Learning Transferable Visual Models From Natural Language Supervision Github:https://github.com/OpenAI/CLIP OpenAI出品 论文通过网络爬取4亿(image, text)对,使用对比学习的方法训练得到clip(Contrastive Languag…...

Lombok常用注解
文章目录 一、简介二、Idea中配置三、Maven中配置四、相应注解1、Data2、RequiredArgsConstructor3、AllArgsConstructor4、NoArgsConstructor5、Getter/Setter:6、ToString7、EqualsAndHashCode8、Builder9、NonNull10、Log11、Slf4j12、Log4j213、SneakyThrows14、Cleanup15、…...

加拿大各省接受公立教育的初始年龄汇总 — 供携子女赴加的访学、博后参考
近年来到加拿大从事访问学者和博士后研究的申请者日益增多,有些申请者想带孩子同去上公立学校。因为加拿大各省教育局政策有差异,所以入学(包括学前班)年龄不同,为此知识人网小编整理本文为大家解惑答疑。 加拿大为本国…...

数字化工厂:虹科Vuzix AR眼镜在工业制造中的革新应用
随着现代科学技术和新兴需求的快速增长,增强现实(AR)、各种“现实”产品与技术不断涌入创新市场,新兴用例数量正在快速增长,可以肯定,在可预见的未来,AR技术将成为各行各业的生产与工作主流。 增强现实(AR&…...

配置出接口方式的单服务器智能DNS
组网需求 如图1所示,企业部署了一台ISP1服务器对外提供Web服务,域名为www.example.com。ISP1服务器的私网IP地址为10.1.1.10,服务器映射后的公网IP地址为1.1.1.10。企业的DNS服务器上存在域名www.example.com与ISP1服务器地址1.1.1.10的对应关…...

数据结构初阶(栈和队列)
文章目录 一、栈1.1 什么是栈1.2 栈的使用(1)底层代码(2)方法(3)栈的应用 二、队列2.1 什么是队列2.2 队列的使用(1)底层代码的实现(2)队列的使用 2.3 双端队…...

IDEA实用设置
1、设置全局编码统一为UTF-8 file>setting中搜索框输入file encoding修改格式为UTF-8 2、设置文字大小 file>setting中搜索框输入font修改字体大小 3、配置maven file>setting中搜索框输入maven修改maven的路径、conf文件、文件仓库 4、idea中实现Serializable提示…...

关联爆破-RSA分解
今天遇到一个RSA题,给出n和pq求分解,翻箱倒柜也没找着原来写的程序,这里重写一下。都是编程的活。 第1种情况,给出p^q 这种情况当p,q相同位相同时为0,不同时为1,爆破的时候只需要逐位判断两种情况&#x…...

Netty内存管理--内存池PoolArena
一、写在前面 到这里, 想必你已知道了Netty中的内存规格化(SizedClass), Page和SubPage级别的内存分配, 但是具体使用者不应该关心应该申请page还是subpage。而且从过去的经验来说, 申请page/subpage的数量也是个动态值, 如果申请使用完之后就释放那使用内存池的意义就不大。N…...

RabbitMQ 发布订阅模式,routing路由模式,topic模式
发布订阅模式 一个消息可以由多个消费者消费同一个消息 消费者1和2同时消费了该消息 举例 public static void main(String[] args) throws IOException, TimeoutException {//1 创建连接工厂ConnectionFactory connectionFactorynew ConnectionFactory();//2 设置rabbitmq …...

又一款可视化神器,开源了!
在互联网数据大爆炸的这几年,各类数据处理、数据可视化的需求使得 GitHub 上诞生了一大批高质量的 BI 工具。 借助这些 BI 工具,我们能够大幅提升数据分析效率、生成更高质量的项目报告,让用户通过直观的数据看到结果,减低沟通成…...

干货 | 中科院心理所考研复试经验分享
Hello,大家好! 这里是壹脑云科研圈,我是喵君姐姐~ 此时此刻,23年考研的小伙伴估计正在为复试进行准备吧,大家都准备得怎么样了呢? 今天为大家带来的就是我国顶级心理学研究结构—中科院心理所…...
Redis基础知识概述
Redis基础知识概述 文章目录 Redis基础知识概述一、Redis简介二、NoSQL技术三、Redis的高并发和快速原因四、Redis为什么是单线程的 五、单线程的优劣势1、优势2、劣势 六、Redis高并发总结七、在java中使用Redis1、添加Jedis依赖 八、Redis在Java Web中的应用1、存储缓存用的数…...

开心档之C++ 引用
C 引用 引用变量是一个别名,也就是说,它是某个已存在变量的另一个名字。一旦把引用初始化为某个变量,就可以使用该引用名称或变量名称来指向变量。 C 引用 vs 指针 引用很容易与指针混淆,它们之间有三个主要的不同:…...

后台优化主要分为哪些?工作内容及流程是什么?
什么是5G网络优化? 顾名思义就是对4G/5G无线网络进行测试,分析,优化的专业技术工作。网络优化工作的进展程度,直接关系着我们对4G/5G无线网络的使用体验。 网络优化工程师通过对现已运行的手机通话网络进行话务数据分析、现场测…...

二叉树及其遍历
文章目录 二叉树树的定义二叉树的定义遍历先序遍历中序遍历后序遍历层次遍历定义队列层次创建二叉树层次遍历 二叉树 树是一种非线性的数据结构,由若干个节点组成,节点之间存在一种父子关系,具有层次结构。二叉树是一种特殊的树结构ÿ…...

java 版本企业电子招投标采购系统源码之登录页面
信息数智化招采系统 服务框架:Spring Cloud、Spring Boot2、Mybatis、OAuth2、Security 前端架构:VUE、Uniapp、Layui、Bootstrap、H5、CSS3 涉及技术:Eureka、Config、Zuul、OAuth2、Security、OSS、Turbine、Zipkin、Feign、Monitor、…...

第五章 使用RAID与LVM磁盘阵列技术
第五章 使用RAID与LVM磁盘阵列技术 一、RAID磁盘冗余阵列 1、部署磁盘阵列 (1)、RAID0、1、5、10方案技术对比 RAID级别最少硬盘可用容量读写性能安全性特点02nn低追求最大容量和速度,任何一块盘损坏,数据全部异常。12n/2n高追…...

LeetCode 560. 和为 K 的子数组
LeetCode 560. 和为 K 的子数组 给你一个整数数组 nums 和一个整数 k ,请你统计并返回 该数组中和为 k 的连续子数组的个数 。 示例 1: 输入:nums [1,1,1], k 2 输出:2示例 2: 输入:nums [1,2,3], k 3 …...

后端要一次性返回我10万条数据
问题描述 面试官:后端一次性返回10万条数据给你,你如何处理?我:歪嘴一笑,what the f**k! 问题考察点 看似无厘头的问题,实际上考查候选人知识的广度和深度,虽然在工作中这种情况很少遇到... …...

汽车智能化「出海」红利
在高阶智能座舱中,车载导航产品作为与用户体验息息相关的模块之一,同样也进入了升级迭代周期。 基于高精度地图渲染、高精度定位算法、AR等技术的车道级导航、AR导航等产品快速上车,但同时随着人机交互多模发展以及3D沉浸式用户体验需求趋势下…...

Windows10资源管理器使用
文章目录 前言二、关联菜单操作1.分组展示2.添加选择复选框3.使用窗格模式4.功能区折叠二、“文件夹选项”对话框操作1.访问模式调整2.状态栏控制总结前言 目前Windows系统中的使用较多当属Windows10,资源管理器属于Windows系统中一个常用工具。本文总结了Windows 10 专业版下…...

【视频教程解读】Window上安装和使用autogluon V0.7
1.使用conda安装的python环境 教程使用的是极简版miniconda,由于我们的电脑中安装了anaconda,所以不需要进行进一步安装。python版本为3.9,博客里面有anaconda和python版本的对应关系。注意查看版本autogluon V0.4需要3.8或者3.9和3.10,pip版…...

10、Java继承与多态 - 内部类的概念与分类 1
10、Java继承与多态 - 内部类的概念与分类 1 什么是内部类? 如果一个事物的内部包含另一个事物,那么这就是一个内部包含另一个类,称作内部类; 例如:身体和心脏的关系,又如 -> 汽车和发动机的关系&#x…...

Java SE 面试题
文章目录 Java SE 面试题基本知识请简要介绍 Java SE。请解释 Java 的垃圾回收机制。请解释 Java 中的访问修饰符。 面向对象请解释封装、继承和多态。请解释接口和抽象类的区别。 集合框架请解释 ArrayList 和 LinkedList 的区别。请解释 Set 和 Map 接口。 异常处理请解释 Ja…...

Linux 之十九 编译工具链、.MAP 文件、.LST 文件
.map 文件和 .lst 文件是嵌入式开发中最有用的俩调试辅助文件。现在主要从事 RISC-V 架构,开始与 GCC 打交道,今天就重点学习一下 GCC 的 .map 文件、.lst 文件,并辅助以 ARMCC 和 IAR 作为对比。 编译工具链 .map 文件和 .lst 文件都是由编…...

小 C 的数学(math)
祝大家劳动节快乐!!小手动起来 言归正传┏ (゜ω゜)☞ 题目描述 小 C 想要成为一名 OIer,于是他提前学习数学,为 OI 做好铺垫。这一天,他的数学老师给了一道题:给定正整数 a,以及给定一个区间 …...