Maven私服搭建

news2025/1/20 14:56:15

为什么要搭建私服

        通常在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地址/8081/nexus

会看到以下页面,右上角会有一个登录按钮:

默认用户名是admin,密码是admin123 

 

通常情况下,以上三步就可以完成安装,如果有问题,并且提示“ NOT RECOMMENDED TO RUN AS ROOT ”,可以通过修改 /bin/nexus 文件,在其中加入 RUN_AS_USER=root ,然后重新启动即可。另外,如果是 docker 环境,可以直接获取 nexus 的镜像完成安装。

修改一下私服配置:

配置完成。

将项目工具包发布到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://xsh-server:8081/nexus/content/repositories/releases</url>
    </repository>
    <snapshotRepository>
      <id>user-snapshot</id>
      <name>user snapshot</name>
      <url>http://xsh-server:8081/nexus/content/repositories/snapshots</url>
    </snapshotRepository>
  </distributionManagement>

配置完成后通过指令: mvn clean deploy 进行发布。

在私服中查看是否发布成功:

 

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

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

相关文章

动态规划 --- 电线布设

动态规划 — 电线布设 题目描述 说是话&#xff0c;刚看到也是很懵逼&#xff0c;不想交子集是什么&#xff1f;乱七八糟的连线。 其实仔细想想后&#xff0c;觉得题目应该是说给定了这些点的连接端点&#xff0c;然后从他给的连线中选择出不想交的且条数最多的连线&#x…

Flink自定义函数之标量函数(UDF函数)

1.背景 flink本身给我们提供了大量的内置函数&#xff0c;已经能满足我们绝大部分的需求&#xff0c;但是如果确实是碰到了一些特殊的场景&#xff0c;无法满足我们的需求的时候&#xff0c;我们可以使用自定义函数来解决。 自定义函数大致可以分为标量函数&#xff08;UDF函…

Linux-安装Python2.7

一、简介 正常情况下&#xff0c;使用sudo apt install python来安装就好了。如果发现这个指令报错了&#xff0c;此时就需要手动安装Python2.7了。例如报错如下&#xff1a; 二、实操 1.下载Python2.7的相关源码&#xff08;以2.7.18为例&#xff09; 下载地址如下&#xff1a…

Linux第四章

文章目录 前言一、快捷键小技巧二、软件安装三、systemctl控制软件启动关闭四、软链接五、日期和时区六、ip地址和主机名七、配置linux固定ip地址八、网络请求和下载九、端口十、进程管理十一、主机状态监控十二、环境变量十三、linux文件的上传和下载十四、压缩和解压总结 前言…

第五章 使用RAID与LVM磁盘阵列技术

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

魔兽世界服务端用户注册以及网页的搭建教程

魔兽世界服务端用户注册以及网页的搭建教程 大家好我是艾西&#xff0c;上一章我们讲解了怎么编译一个魔兽的服务端以及安装最后进到我们自己的游戏。那么在平时娱乐的同时肯定是需要和朋友们一起玩游戏才会更有意思&#xff0c;那么今天艾西教大家怎么搭建用户注册页面以及网…

java进程引发的内存泄露问题排查分析

近期工作过程中遇到了一次容器内存不断增高&#xff0c;最终达到90%引发告警的情况。 特征1&#xff0c;把监控面板时间轴拉长会发现&#xff0c;重启后内存占用78%左右&#xff0c;每天增长1%&#xff0c;大约2周后会涨到90%触发告警&#xff08;即如果2周内有代码发布部署&am…

2022-04-27:用go语言重写ffmpeg的remuxing.c示例。

2022-04-27&#xff1a;用go语言重写ffmpeg的remuxing.c示例。 答案2022-04-27&#xff1a; ffmpeg的remuxing.c是一个用于将多媒体文件从一种容器格式转换为另一种容器格式的命令行工具。它可以将音频、视频和字幕等元素从源文件中提取出来&#xff0c;并按照用户指定的方式…

构造函数和析构函数

1.构造函数 1.1 .构造函数概括 、构造函数是一个特殊的成员函数&#xff0c;名字与类名相同,创建类类型对象时由编译器自动调用&#xff0c;以保证每个数据成员都有 一个合适的初始值&#xff0c;并且在对象整个生命周期内只调用一次。 构造函数是特殊的成员函数&#xff0c…

简单认识 Postman界面操作

查看本文前 您需要先登录Postman 如果还没有处理好 可以先查看我的文章 Postman登录注册指导 右上角的 Home 代表主页 就是我们现在看到的这个界面 Workspaces 是一个工作空间管理 这里 我们选择进入 我的工作空间 之后 我们所有的接口请求 就都是在这一块完成的 Collection…

ubuntu中安装VMware Tools,实现Windows文件拖入Ubuntu

ubantu作为一款非常好用的Linux发行版本&#xff0c;深受广大开发者的喜爱&#x1f603;&#xff0c;为了开发的方便&#xff0c;人们常常在windows电脑中安装VMware虚拟机来运行Linux系统&#xff0c;我们时常会遇到这样一种情况&#xff1a;无法互传虚拟机与主机文件。 原因就…

终端连接工具Tabby的下载、安装与配置

目录 一、终端连接工具Tabby的下载1.1、Tabby的下载地址1.2、Tabby的下载步骤 二、终端连接工具Tabby的安装三、终端连接工具Tabby的SSH连接四、终端连接工具Tabby的SFTP 传输工具4.1、服务器上的文件传输到本地电脑4.2、本地电脑的文件传输到服务器 五、终端连接工具Tabby的设…

基于网络爬虫和SpringBoot框架的晋江文学小说小型网站项目

一、Python网路爬虫技术的设计与实现 Scrapy是一个为了爬取网站数据&#xff0c;提取结构性数据而编写的应用框架&#xff0c;常可以应用在包括数据挖掘&#xff0c;信息处理或存储历史数据等一系列的程序中。项目中&#xff0c;主要采取Scrapy框架实现一个爬虫&#xff0c;抓…

JavaSE3(4/26)

目录 1.线程的状态 2.线程安全问题 3.synchronized的具体用法 4. 1.线程的状态 首先明白进程的状态:就绪或者阻塞 上述说的就绪和阻塞其实是针对系统中的线程状态(PCB) Java中对于Thread类中的线程的状态进行了进一步的细化 NEW: Thread对象有了,但是线程还没有被执行 TERMI…

RabbitMQ之介绍以及安装

1.1 MQ的相关概念 1.1.1 什么是MQ ​ MQ&#xff0c;从字面意思上看&#xff0c;本质是个队列&#xff0c;FIFO先入先出&#xff0c;只不过队列中存放的内容是message而已&#xff0c;还是一种跨进程的通信机制&#xff0c;用于上下游传递消息。在互联网架构中&#xff0c;MQ…

摄影tips

一、基础知识 相机挡位 A档就是全自动模式或称场景智能自动模式&#xff0c;该拍摄模式下&#xff0c;相机会根据光线和你所拍摄的对象等场景环境自行设置快门、光圈等参数&#xff0c;你不需要调整任何参数&#xff0c;拿起相机对焦按快门就行&#xff0c;也就是AUTO模式。虽…

opengauss编译和使用oracle_fdw

opengauss虽然继承自postgresql9.2&#xff0c;但由于做了魔改&#xff0c;网上通用的从oracle_fdw源码编译安装到postgresql的方法&#xff0c;是否成功的应用到opengauss&#xff0c;并不一定&#xff0c;今天试了一下&#xff0c;参照opengauss官网文档&#xff08;其实写的…

Spring Bean的作用域及生命周期

目录 前言&#xff1a; Bean的作用域&#xff08;Scope&#xff09; 单例模式 原型模式&#xff08;多例作用域&#xff09; 请求作用域&#xff08;request&#xff09; 会话作用域 全局作用域 网络长连接 Spring执行流程 Bean的生命周期 测试 小结&#xff1a; 前…

多模态论文串讲:ALBEF VLMo BLIP CoCa Beit V3

文章目录 前言ALBEF:Align before Fuse: Vision and Language Representation Learning with Momentum Distillation(2021-10)VLMO: Unified Vision-Language Pre-Training with Mixture-of-Modality-Experts(2021-11)relatedmethod BLIP&#xff1a;Bootstrapping Language-Im…

【贴片SD Card介绍】贴片SD Card (LEILONG雷龙科技)

有幸申请到了雷龙科技代理的 贴片 SD Card (SD NAND) 样品&#xff0c;做出测试&#xff0c;分享一下。 型号&#xff1a;CSNP32GCR01-BOW&#xff1b;CSNP4GCR01-BOW 生产方&#xff1a;CS创世半导体 由于是第一次使用贴片类型的 SD Card &#xff0c;可能文章会有较多疏忽。…