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

nexus搭建maven私服

说到maven私服每个公司都有,比如我上一篇文章介绍的自定义日志starter,就可以上传到maven私服供大家使用,每次更新只需deploy一下就行,以下就是本人搭建私服的步骤

使用docker安装nexus

#拉取镜像
docker pull sonatype/nexus3:latest#创建挂在目录,容器数据与宿主机互通,数据持久化到宿主机
#容器重启数据不会丢失,想想如果是mysql,不挂载的话重启容器就没了
mkdir /var/dockerdata/nexus/nexus-data
mkdir /var/dockerdata/nexus/nexus-logs#授权,因为启动容器时nexus会往宿主机目录写数据
chmod o+rwx -R /var/dockerdata/nexus/nexus-data
chmod o+rwx -R /var/dockerdata/nexus/nexus-logs#启动容器,建议使用docker-compose来搞
docker run -d \--name nexus3 \-p 6031:8081 \--restart=always \-e "INSTALL4J_ADD_VM_PARAMS=-Xms128m -Xmx512m -XX:MaxDirectMemorySize=512m -Djava.util.prefs.userRoot=/nexus-data/javaprefs" \-v /var/dockerdata/nexus/nexus-data:/nexus-data \-v /var/dockerdata/nexus/nexus-logs:/nexus-logs \-e TZ=Asia/Shanghai \sonatype/nexus3:latest#nexus3 默认启动是2703M内存,为了因为内存不够导致启动失败或内存占用过多所以指定内存
-e "INSTALL4J_ADD_VM_PARAMS=-Xms128m -Xmx512m -XX:MaxDirectMemorySize=512m -Djava.util.prefs.userRoot=/nexus-data/javaprefs"

访问ip:6031看到这个界面就成功了
在这里插入图片描述
登录重置密码,会提示密码在哪个目录的,直接去提示的目录找就行
在这里插入图片描述
分别创建release,snapshot,center,public仓库。
release:Release 版本是一个正式发布的版本,表示该版本已经经过测试和验证,不会再有频繁的变化。
snapshot:Snapshot 版本是一种开发中的版本,表示该版本尚未正式发布,可能会频繁发生变化,每次构建时,Maven 会检查远程仓库中是否有新的 Snapshot 版本可用。如果有,Maven 会下载最新的 Snapshot 版本。
center:远程仓库,私服不存在就会通过这个仓库下载,一般都配置阿里的仓库镜像
public:公共仓库,nexus上创建时选混合类型

创建release仓库
在这里插入图片描述
创建snapshot仓库
在这里插入图片描述
创建中央仓库
在这里插入图片描述

创建公共仓库
在这里插入图片描述
创建完了就这样,其他的可以删掉了
在这里插入图片描述
修改maven的setting.xml,填写nexus服务器信息
在这里插入图片描述
mirror中的url为nexus私服的公共仓库,id与server中的id要一致
在这里插入图片描述
把项目打包上传到nexus,pom文件配置distributionManagement标签,其中的id要与setting.xml中的id一致
在这里插入图片描述如果想打包release版本,就要把version标签的snapshot去掉
在这里插入图片描述
去nexus仓库看已经上传上去了
在这里插入图片描述
引入release版本的话直接在这里复制坐标
在这里插入图片描述
在别的工程引入成功
在这里插入图片描述
这里能成功引入是因为上面我们在maven的setting.xml里配置了nexus仓库的地址,它会从这个地址去找依赖,私服找不到就会根据ming-center仓库配置的中央地址去下载。

http://www.lryc.cn/news/518841.html

相关文章:

  • 理解 Tomcat 架构
  • python3GUI--大屏可视化-传染病督导平台 By:PyQt5
  • 如何选择适合的证件照制作软件,让您的照片制作更轻松
  • 工作效率提升:使用Anaconda Prompt 创建虚拟环境总结
  • Python自动化实战 —— 使用Selenium进行Web自动化
  • 【前端】【HTML】入门基础知识
  • PHP获取局域网ip(192.168)
  • 点击底部的 tabBar 属于 wx.switchTab 跳转方式,目标页面的 onLoad 不会触发(除非是第一次加载)
  • 基于PLC的酒店热水供应控制系统设计
  • 博客内所有项目均可在面包多平台进行购买
  • 《Mcal》--MCU模块
  • C语言:枚举类型
  • spring boot 多数据源集成mysql、postgresql、phoenix、doris等
  • USB基础 -- USB 控制传输(Control Transfer)的重传机制
  • 云计算基础,虚拟化原理
  • 浮点数在C语言开发中为什么不精确?
  • ChatGPT网络错误如何解决
  • Vue3初学之插槽(slot)使用
  • 使用PVE快速创建虚拟机集群并搭建docker环境
  • 带格式 pdf 翻译
  • 【C++】C++11(一)
  • 初学stm32 --- ADC单通道采集
  • 【动态规划篇】欣赏概率论与镜像法融合下,别出心裁探索解答括号序列问题
  • Java(day7)
  • Word 转成pdf及打印的开源方案支持xp
  • LabVIEW软件侵权分析与应对
  • 【redis】centos7下安装redis7
  • [network]回顾:集线器(Hub)
  • 79 Openssl3.0 RSA公钥加密数据
  • EFCore HasDefaultValueSql (续2 HasComputedColumnSql)