使用Nexus搭建Maven私有库实战

本篇快速演示如何搭建和使用Nexus本地库, 关于Nexus 的基本使用参考:
Nexus搭建Maven私有库介绍

实战场景

本篇的实际场景是:

  • 本地开发机器可以连接外部网络
  • 测试或正式部署环境只能连接内网
  • 项目使用了内部开发的组件库

在搭建搭建Maven私有库之前的处理方式是:

  1. 在本地开发机器下载依赖包和插件等
  2. 将本地库的目录复制到测试或部署环境

也即是说使用本地库的方式,但是这种方式存在使用不方便的问题:
在pom.xml 中新增一个依赖项, 需要将整个目录再复制一次, 因为这个依赖项会下载其他的依赖项, 要精准的知道这个依赖项及其相关的依赖项是比较麻烦的,所以就整个库目录进行复制。而一般状况, 本地库的目录内容比较多, 基本以G为单位, 所以复制起来一般也是几个小时。

Nexus 搭建规划

需要的机器如下:

  • 机器A:开发机器,可以连接外网。这里存在Maven的本地库目录
  • 机器B:部署机器,只能连内网
  • 机器C:Nexus服务器,只能连内网

考虑Nexus 所在的机器无法连接外部网络, 规划如下:

  • 自身开发的稳定版本库发布到 maven-releases
  • 创建库 maven-local 用于批量导入机器A本地库中的依赖
  • maven-public 配置包含 maven-releases 和 maven-local

Nexus 搭建步骤

1. 创建库 maven-local ,用于存放机器A本地库中的依赖

maven-local 的作用就是将原先本地库里下载的依赖导入到 nexus 中,创建库之前需要创建一个 Blob Store 用于存放文件。 创建步骤如下:

  1. 登录Nexus 服务器,点击 Create Blob Store
    在这里插入图片描述

  2. 选择存放类型 Fil 之后, 输入 Blob Store的名字, 路径会根据名字自动产生。
    在这里插入图片描述

注: 默认产生的存储路径位于 sonatype-work\nexus3\blobs 目录下。

  1. 创建完成之后就可以在存储的列表中看到这个 Blob Store 了

在这里插入图片描述

  1. 点击 “Create repository”

在这里插入图片描述

  1. 选择 maven2(hosted)

在这里插入图片描述

  1. 输入库的名字,选择Blob Store, 部署策略选择允许重新部署
    在这里插入图片描述

  2. 输入完成, 点击"Create repository" 完成创建,创建后可以在库列表可以看到

在这里插入图片描述

2. 批量导入本地库的依赖

将机器A的本地库路径下所有的依赖导入机器C的Nexus 服务中。 步骤如下:

  1. 到 https://download.csdn.net/download/oscar999/87961368 下载批量导入maven本地库目录到Nexus私有服务器的脚本,下载的脚本名是 mvnimport.sh
  2. 将mvnimport.sh 复制到机器A的本地库根路径
    3 Git Bash切换到本地库路径, 执行命令. ./mvnimport.sh -u admin -p yourpassword -r http://机器C:8081/repository/maven-local/

关于批量导入的更详细内容可以参考: Nexus如何导入jar以及批量导入Maven的本地库目录

自身开发的稳定版本库发布到 maven-releases

在机器A开发的自身的库,稳定版本发布到maven-releases , 开发过程中的版本发布到maven-snapshots。
关于如何发布自身开发的库, 可以参考: 如何在Maven中发布项目到Nexus私有服务器



猜你喜欢

转载自blog.csdn.net/oscar999/article/details/131466465