Nexus搭建Maven私有库介绍

为什么需要Maven私有库?

使用Maven获取Java依赖包的时候, 默认是从Maven的中央库下载 jar文件, 中央库的地址是: https://repo.maven.apache.org/maven2 。 如果下载速度慢, 可以使用阿里的镜像, 地址如下:
https://maven.aliyun.com/repository/public

上面的场景都是在Internet网络畅通的状况下进行开发, 但是在很多企业内部的开发环境中, 出于安全性等考虑,在企业内部网络中的某些机器是禁止了外网访问的,这样的话, 不管是Maven默认库或是阿里镜像库都无法方法, 依赖项自然也就无法下载。

除了上面的场景外, 企业内部开发还有一种场景, 就是企业内部的应用使用https 协议, 颁发内部的https 根证书并应用在内部机器上,用来替换默认的https 证书机制, 这样有可能会出现的一个问题是Java 在使用证书访问https 站点时, 会将Maven的中央库认为是不安全的, 这个问题虽然可以解决,但是总归是不方便,相关的问题及解决方案可以参考:
Maven无法下载依赖之PKIX path building failed问题及解决

除此之外,从中央库或网络镜像获取依赖还存在有如下问题:

  • 团队开发,每个人从中央库或是阿里云镜像仓库下载,浪费时间和网络资源。
  • 自行开发的,又不能发布到中央库的包,维护起来很麻烦
  • 某些有license的第三方包,在中央库没有(比如Oracle 的JDBC)
  • 某些老旧或是特定的版本,中央库不存在

基于上面的这些原因, 如果在内部搭建一个Maven的私有库就可以解决这些问题。

使用什么搭建Maven私有库?

搭建Maven私有库的工具有多种, 推荐使用的就是Nexus。

Nexus 的站点地址是:
https://www.sonatype.com/thanks/repo-oss

到这个地址可以看到相关的下载和介绍。
在这里插入图片描述

Nexus 的下载

官方的下载页面如上图。目前的最新版本是nexus-3.55.0-01。 各操作系统对应的下载地址是:

  • Unix : https://download.sonatype.com/nexus/3/nexus-3.55.0-01-unix.tar.gz
  • Windows :https://download.sonatype.com/nexus/3/nexus-3.55.0-01-win64.zip
  • Mac OS : https://download.sonatype.com/nexus/3/nexus-3.55.0-01-mac.tgz

注意: 官方地址下载很有可能不成功,可以到如下网盘下载:

链接:https://pan.baidu.com/s/1_51k9C_ORDPmueHoQ9Bsjw?pwd=00ru
提取码:00ru

Nexus 的启动

本篇基于Windows版本进行介绍。 下载后的文件是一个zip 的压缩档 nexus-3.55.0-01-win64.zip, 解压该文件后有两个目录:

在这里插入图片描述

nexus-3.55.0-01 包括nexus 本身相关的文件,比如 exe的启动文件, sonatype-work 则主要是运行相关的目录。

命令行切换到 nexus-3.55.0-01\bin 目录, 执行 nexus /run
在这里插入图片描述

出现如下页面,代表启动成功

在这里插入图片描述

启动完成之后, 在浏览器输入http://localhost:8081/:

在这里插入图片描述

Nexus的基本使用

查看本地的库

点击上方的立方体, 再点击左边导航栏的Browse 就可以看到包含的库, 如下图:

在这里插入图片描述

这里主要有 maven 和 nuget 两类, 这里仅看 maven 的。

  • maven-center , 中央库的, 如果可以连接网络, 可以设置Maven官方库或是阿里镜像库的地址
  • maven-public , 是一个组, 可以包含 maven-releases , maven-sanpshots 等
  • maven-releases, 发布本地开发包的稳定版本
  • maven-sanpshots , 发布本地开发包的快照版本, 也就是草稿版本

管理库

查看库可以不用登录, 但是管理库需要先登录, 点击右上角的Sign In 进行登录

在这里插入图片描述

使用admin 账号登录, 默认密码位于sonatype-work\nexus3\admin.password, 登录完成后会要求修改密码。

在这里插入图片描述

登录后的页面左边导航栏多出 Upload 菜单, 可以上传依赖包。 最上方多以一个齿轮按钮用于库的配置和管理。

在这里插入图片描述

点击配置按钮的页面如下:

在这里插入图片描述



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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【服务器数据恢复】HP LeftHand存储raid5不可用的数据恢复案例

HP LeftHand存储简介: HP LeftHand存储支持搭建RAID5、RAID6、RAID10磁盘阵列,支持卷快照,卷动态扩容等。服务端和客户端分别如下: LeftHand存储共有三个级别:物理磁盘、基于多个物理磁盘组成的逻辑磁盘(ra…

浏览器渲染流程

解析HTML,生成DOM树,解析CSS,生成CSSOM树 将DOM树和CSSOM树结合,生成渲染树(Render Tree) Layout(回流):根据生成的渲染树,进行回流(Layout),得到节点的几何信息(位置,大小&#x…

Selenium+Pytest自动化测试框架实战

前言 Selenium和Pytest是非常流行的自动化测试框架,二者的配合可以有效地进行Web应用程序的测试。在使用Selenium和Pytest进行自动化测试时,可以实现自动化测试的模块化、重复使用,并且可以在现有的测试项目中方便地集成和调用。 测试框架简…

B树和B+树索引

B树索引 磁盘IO读数据到内存 malloc/new 向 kernel申请4B空间,实际系统可能给2个页面空间即8KB,剩下8KB-4B空间由 lib.so 或libc.so 的 ptmalloc 或tcmalloc管理 。这样就不需要每次去kernel申请内存 磁盘IO同理,我们读一部分数据会把一整…

学了Python后还用学R语言吗?

学习R语言是否有必要取决于你的具体需求和背景。虽然R语言和Python都是数据科学领域广泛使用的编程语言,但它们之间还是存在一些差异。 如果你主要从事数据分析、统计建模或者数据可视化等工作,那么学习R语言可能更为适合。R语言在数据处理和统计分析方…

02_类加载子系统

02_类加载子系统 一、内存结构概述二、类加载器与类的加载过程1、类加载器子系统的作用2、类加载器ClassLoader的作用3、类的加载过程 三、类加载器的分类1、启动类加载器2、扩展类加载器3、应用程序类加载器4、自定义类加载器5、获取ClassLoader的几种方式 五、双亲委派机制1、…

浅谈.NET语言开发应用领域

.NET语言是一种跨平台的开发框架,适用于各种应用程序的开发。以下是一些常见的.NET语言开发应用领域: 桌面应用程序开发:使用.NET框架开发的桌面应用程序可以在Windows操作系统上运行,包括Windows Forms和WPF。这些应用程序可以用…

第二章 进程的描述与控制

目录 一、进程的概念、组成、特征 1.1 进程的概念 1.1.1 程序 1.1.2 进程 1.2 进程的组成 1.3 进程控制块PCB 1.4 进程的特征 二、进程的状态与转换 2.1 进程的状态 2.2 创建态、就绪态 2.3 运行态 2.4 阻塞态 2.5 终止态 2.6 进程状态的转换 2.7 进程的组织 三…

【状态估计】无迹卡尔曼滤波(UKF)应用于FitzHugh-Nagumo神经元动力学研究(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

【ProNoC】Chap.1 ProNoC生成2x2的mesh型的4核片上网络系统;实现NoC的RTL设计

【ProNoC】Chap.1 ProNoC生成2x2的mesh型的4核片上网络系统;实现NoC的RTL设计 0. NoC多核片上网络生成器ProNoCProNoC的功能实现 1. 生成一个叫做Mor1kx SoC的单个Tile(包含NI网络接口)1.1 打开ProNoC用于生成Tile的GUI界面1.2 为Tile添加时钟…

团体程序设计天梯赛-练习集L1篇①

🚀欢迎来到本文🚀 🍉个人简介:Hello大家好呀,我是陈童学,一个与你一样正在慢慢前行的普通人。 🏀个人主页:陈童学哦CSDN 💡所属专栏:PTA 🎁希望各…

【Servlet学习一】认识Servlet 创建第一个Servlet项目

目录 🌟需要知道: 🌈1、Tomcat是什么? 🌈 2、Maven 🌟一、认识Servlet 🌈1、Servlet是什么? 🌈2、实现第一个Servlet项目。 🌈3、简单了解Postman工具…

LTV-6314-ASEMI代理台湾光宝高速光耦LTV-6314

编辑:ll LTV-6314-ASEMI代理台湾光宝高速光耦LTV-6314 型号:LTV-6314 品牌:台湾光宝 封装:LSOP-6 引脚数量:6 类型:光耦 特性:台湾光宝、IGBT驱动器、储能专用光耦\高速光耦 …

云服务器ECS_云主机_服务器托管_弹性计算-阿里云

阿里云服务器ECS(Elastic Compute Service)是一种安全可靠、弹性可伸缩的云计算服务,阿里云提供多种云服务器ECS实例规格,如通用算力型u1、ECS计算型c7、通用型g7、GPU实例等,阿里云服务器网分享阿里云服务器ECS详细介…

基于深度学习的高精度鸽子检测识别系统(PyTorch+Pyside6+YOLOv5模型)

摘要:基于深度学习的高精度鸽子检测识别系统可用于日常生活中或野外来检测与定位鸽子目标,利用深度学习算法可实现图片、视频、摄像头等方式的鸽子目标检测识别,另外支持结果可视化与图片或视频检测结果的导出。本系统采用YOLOv5目标检测模型…

Java8 List集合如何指定打印分隔符

目录 背景方法一:String.join(推荐)方法二:Collectors.joining总结 背景 无论是在学习还是日常的应用开发过程中,我们经常会需要使用分隔符将 List 集合打印出来。 如下所示: import java.util.Arrays;pub…

GPT模型支持下的Python-GEE遥感云大数据分析、管理与可视化技术及多领域案例实践

随着航空、航天、近地空间等多个遥感平台的不断发展,近年来遥感技术突飞猛进。由此,遥感数据的空间、时间、光谱分辨率不断提高,数据量也大幅增长,使其越来越具有大数据特征。对于相关研究而言,遥感大数据的出现为其提…

基于flask的web应用开发——搭建一个云盘

目录 0. 前言1. 实现开放下载链接2. 稍加改装3. 效果演示4. 云服务器项目部署 0. 前言 本节利用 flask 开放下载链接 操作系统:Windows10 家庭版 开发环境:Pycahrm Comunity 2022.3 Python解释器版本:Python3.8 第三方库:fla…

CSS基础学习--14 Position(定位)

一、定义 position属性指定了元素的定位类型 position 属性的五个值: staticrelativefixedabsolutesticky 元素可以使用的顶部,底部,左侧和右侧属性定位。然而,这些属性无法工作,除非是先设定position属性。他们也有…

leetcode90. 子集 II(java)

子集II leetcode90. 子集 II题目描述解题思路代码演示 回溯算法专题 leetcode90. 子集 II 来源:力扣(LeetCode) 链接:https://leetcode.cn/problems/subsets-ii 题目描述 给你一个整数数组 nums ,其中可能包含重复元素…