超详细 | 使用Nexus搭建私服 (带代码演示)

为什么需要搭建私有仓库?

在企业开发的过程中,不是所有公司都能直接访问外网。在这种情况下,就需要在局域网内找一台有外网访问权限的服务器,搭建Nexus私服仓库,开发人员连接到这台私服上,通过搭建的Nexus私服访问远程仓库。

并且,我们要知道,内网的速度,是不同于外网,外网可能会受到公开网络的攻击,并且传输速度也远低于内网。

其次,我们需要上传第三方Jar包到maven仓库,若上传至公网,数据会有泄露的风险,若在私服,数据安全性会大大提高!

Nexus简介

Nexus是Sonatype公司的一款用于搭建私服的产品,使用非常广泛。

在早期,我们都拿Nexus当maven私服仓库,后来,随着版本的不断更新,它支持的数据类型越来越多,比如npm仓库,nuget仓库,ruby仓库,docker镜像仓库等等。

Nexus主要分为2.x和3.x两个大版本,而且这两大版本相互不影响,并且都在不断更新迭代。但是其功能大致相同!!

安装包下载网址:

Download Nexus Repository OSS | SonatypeDownload Nexus Repository OSS - the world's first & only universal repository solution that's FREE to use & provides cutting-edge support for multiple formats.icon-default.png?t=N7T8https://www.sonatype.com/products/sonatype-nexus-oss-download

历史版本查看网址:

Download Archives - Repository Manager 3icon-default.png?t=N7T8https://help.sonatype.com/en/download-archives---repository-manager-3.html

安装

安装版本:nexus-3.58.1-02 

 因为Nexus是java写的,这里需要配置java的环境变量,需要java8版本及以上

解压缩

解压后是两个文件

nexus-3.58.1-02是nexus的运行程序

sonatype-work是nexus的工作空间,仓库文件存储位置

可以在nexus-3.58.1-02的bin目录下 nexus.vmoptions文件,查看nexus的配置

主要是对Nexus运行时的一些配置信息,如内存使用,日志存储文件位置,数据存储目录等,可根据服务器情况,动态调整,我们可以发现其默认配置的数据存储目录,就是在解压后的另一个文件夹sonatype-work

可以在nexus-3.58.1-02的etc目录下,查看nexus的启动配置信息

 

这里可以对Nexus启动监听的ip地址和端口进行配置,可以看出Nexus使用的是轻量级的jetty来提供Http服务的

 

 (1)使用管理员身份打开cmd命令行,然后进入到解压后的\nexus-3.58.1-02\bin该目录下

(2)执行安装nexus服务命令:nexus.exe /install

(3)执行启动nexus服务命令:nexus.exe /start

(4)执行启动nexus控制台服务命令:nexus.exe /run

        补充一下停止服务和卸载服务的命令:

        停止服务:nexus.exe /stop 

        卸载服务:nexus.exe /uninstall

第一次进入界面可能有一点慢

 这边需要你先登录一下,登录之后,很多东西就可以用了

第一次登录在对应目录下找到初始密码,然后更改密码

开启匿名访问 

禁止匿名访问

 图说详解

  

 

  

 Repositories

仓库管理。这里可以看到nexus的所有仓库

仓库主要分为三种类型:

  1. proxy,代理仓库,也就是对外部仓库的代理,这个仓库是只读的,当PC端访问Nexus库,没有依赖的时候,会请求proxy库配置的远程仓库,如远程仓库有,会下载到nexus(一个人从远程中央仓库下载好了依赖,其他人再次访问,无需访问远程仓库,直接从nexus可以获取),然后才会将nexus的返回给PC端。默认使用的maven的仓库,访问速度比较慢,可以跟换国内大型镜像仓库(比如阿里,腾讯等等,阿里nexus仓库地址:http://maven.liyun.com/repository/public);
  2. hosted,本地托管仓库,也就是所谓私库了,可以上传本地jar包到这个仓库。在创建的时候,需要注意:将Deployment policy改成Allow Redeploy (允许重复发布,覆盖同版本的jar包);
  3. group,仓库组,这是一个容器,它可以包含多个proxy,hosted或者其他group仓库,它的作用就是让开发人员引用的时候只需填一个URL,访问配置在该group下所有的库,这也是只读的。

hosted仓库存储类型分为三种:

  • snapshot,存储快照(未发布的版本)。
  • releases,存储发布的版本,
  • mixed,混合存储模式。

这里演示,创建一个本地仓库

 

Blob Stores

配置本地数据存储,或者云存储 (一般都是本地存储)

可以查看所有我们创建的blob存储,以及该blob数据信息;

可以创建自己的blob;

可以查看官方blob的使用文档;

 创建一个存储

 

 Proprietary Repositories

为了帮助依赖关系混淆攻击,请识别包含专有组件的托管存储库。

 

在刚创建的存储下创建一个本地仓库

 

public

 proxy

 https://maven.aliyun.com/repository/publicicon-default.png?t=N7T8https://maven.aliyun.com/repository/public也可以自己创建一个代理

 

 

结合Idea演示

项目配置(切记一定不要中文名,因为中文名有的时候会乱码

setting.xml配置

<server>
    <id>自定义</id>
    <username>账号</username>
    <password>密码</password>
</server>
<?xml version="1.0" encoding="UTF-8"?>

<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">

	<pluginGroups>
	</pluginGroups>

	<proxies>
	</proxies>

	<servers>
		<server>
			<id>coldwind</id>
			<username>admin</username>
			<password>admin</password>
		</server>
	</servers>

	<mirrors>
		<mirror>
			<id>coldwind</id>
			<name>cw</name>
			<mirrorOf>*</mirrorOf>
			<url>http://localhost:8081/repository/maven-public/</url>
		</mirror>
		<!--
		<mirror>
			<id>ali</id>
			<name>ali Maven</name>
			<mirrorOf>*</mirrorOf>
			<url>https://maven.aliyun.com/repository/public/</url>
		</mirror>
		-->
	</mirrors>

	<profiles>
	</profiles>

	<activeProfiles>
	</activeProfiles>

</settings>

需将项目指定setting文件,

或直接copy到本地idea仓库默认路径下

项目配置,Maven项目先配置上传URL

<distributionManagement>
	<repository>
		<id>coldwind</id>
		<name>hoau release repository</name>
		<url>http://localhost:8081/repository/maven-releases/</url>
	</repository>
	<snapshotRepository>
		<id>coldwind</id>
		<name>hoau snapshot repository</name>
		<url>http://localhost:8081/repository/maven-snapshots/</url>
	</snapshotRepository>
</distributionManagement>

本地项目打包

version默认为public,如果指定快照则加上如上代码 

 

雀实是我们刚刚上传的

 

 下载xml配置

<repositories>
    <repository>
            <id>coldwind-repo</id> <!-- 可以自定义 -->
            <name>coldwind-repo</name>
            <url>http://localhost:8081/repository/maven-public/</url> <!-- 通过public去下载依赖 -->
            <releases>
                    <enabled>true</enabled>
            </releases>
            <snapshots>
                    <enabled>true</enabled>
            </snapshots>
    </repository>
  </repositories>

添加引用

 <dependency>
	<groupId>com.coldwind</groupId>
	<artifactId>decrypt</artifactId>
	<version>1.0-SNAPSHOT</version>
</dependency>

 刷Maven新项目

下载成功

现在就可以在另外一个项目使用这个包了 

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

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

相关文章

Golang | Leetcode Golang题解之第142题环形链表II

题目&#xff1a; 题解&#xff1a; func detectCycle(head *ListNode) *ListNode {slow, fast : head, headfor fast ! nil {slow slow.Nextif fast.Next nil {return nil}fast fast.Next.Nextif fast slow {p : headfor p ! slow {p p.Nextslow slow.Next}return p}}r…

调研管理系统的设计

管理员账户功能包括&#xff1a;系统首页&#xff0c;个人中心&#xff0c;管理员管理&#xff0c;基础数据管理&#xff0c;教师类型管理&#xff0c;课程类型管理&#xff0c;公告类型管理 前台账户功能包括&#xff1a;系统首页&#xff0c;个人中心&#xff0c;论坛&#…

OPPO高级项目经理曹帆受邀为第十三届中国PMO大会演讲嘉宾

全国PMO专业人士年度盛会 OPPO互联网服务系统内容生态中心高级互联网项目经理曹帆先生受邀为PMO评论主办的2024第十三届中国PMO大会演讲嘉宾&#xff0c;演讲议题为“加、减、乘、除——激活项目团队效能”。大会将于6月29-30日在北京举办&#xff0c;敬请关注&#xff01; 议…

【数学】各种图面积公式的推导

Hello&#xff01;大家好&#xff0c;我是学霸小羊&#xff0c;今天讲讲面积公式。 1.长方形 长方形是 由无数条 长度为长方形的长&#xff08;或宽&#xff09;的线 组成的图形&#xff0c;这些线有多少根&#xff0c;我们不知道&#xff0c;只需要知道他们垒成了一个由高 宽…

如何获取MySQL中表的大小?(官方校正版)

与大多数关系数据库一样&#xff0c;MySQL 提供了有关数据库本身的有用元数据。虽然大多数其他数据库将此信息称为 catalog&#xff0c; 但MySQL 官方文档INFORMATION_SCHEMA 将元数据 称为 tables。 目录 1 列出单个数据库中的单表大小 2 列出所有数据库中的所有表大小 以下…

【第14章】SpringBoot实战篇之多环境配置

文章目录 前言一、通用配置文件1. 定义2. 使用2.1 application.yml2.2 启动类 3. 测试 二、多环境配置文件1.定义1.1 application-local.yml1.2 application-dev.yml1.3 application-test.yml1.4 application-prod.yml 2.使用2.1 application.yml2.2 启动类 3.测试 三、多环境配…

【机器学习】决策树模型(个人笔记)

文章目录 多样性指标基尼杂质指数&#xff08;Gini Impurity Index&#xff09;熵&#xff08;Entropy&#xff09; 决策树的应用 源代码文件请点击此处&#xff01; 多样性指标 基尼杂质指数&#xff08;Gini Impurity Index&#xff09; 若集合中包含 m m m 个元素和 n …

【线性代数】向量空间,子空间,向量空间的基和维数

向量空间 设V为n维向量的集合&#xff0c;如果V非空&#xff0c;且集合V对于向量的加法以及数乘两种运算封闭&#xff0c;那么就称集合V为向量空间 x&#xff0c;y是n维列向量。 x 向量组等价说明可以互相线性表示 向量组等价则生成的向量空间是一样的 子空间 例题18是三位向…

人机融合既是技术也是艺术

军事智能是将人工智能技术应用于军事领域&#xff0c;旨在提高军事决策、指挥控制、作战效能等方面的能力。它涉及到计算机科学、数学、统计学、神经科学等多个学科领域&#xff0c;需要综合运用多种技术和方法。军事智能的设计和实施需要考虑到战争的本质、军事战略、战术和组…

每位比特币人都终将成为一个国际主义者

原创 | 刘教链 周末BTC&#xff08;比特币&#xff09;趁势向着30日均线回归&#xff0c;现于69k一线悬停。7万刀以下加仓的机会窗口&#xff0c;和那蹉跎一生的岁月一样&#xff0c;过一天少一天&#xff0c;在每个纠结和拧巴的日子里&#xff0c;在软弱和彷徨的等待中&#x…

小程序 UI 风格,赏心悦目

小程序 UI 风格&#xff0c;赏心悦目

MySQL的group by与count(), *字段使用问题

文章目录 问题group by到底做了什么举个例子简单来说为什么select字段&#xff0c;count()不能和*共同使用总结 问题 这是一段摘抄自MySQL官网的文字。其大致意思是MySQL拓展了group by的使用&#xff0c;MySQL允许选择没有出现在group by中的字段。换句话说&#xff0c;标准SQ…

【数据结构(邓俊辉)学习笔记】图07——最短路径

文章目录 0. 概述1. 问题2. 最短路径2.1 最短路径树2.1.1 单调性2.1.2 歧义性2.1. 3 无环性 2.2 Dijkstra 算法2.2.1 贪心迭代2.2.2 实现2.2.3 实例2.2.4 复杂度 0. 概述 学习下最短路径和Dijistra算法 1. 问题 给定带权网络G (V, E)&#xff0c;以及源点&#xff08;source…

Java日期类Date、SimpleDateFormat 日期格式类、Calendar详细介绍

目录 一、Date类1.1 Date类简单介绍1.2 Date类的构造方法代码演示 二、SimpleDateFormat 日期格式化类2.1 SimpleDateFormat 日期格式化类简单介绍2.2 构造方法代码演示 日期格式化模板常用方法代码演示注意 三、Calendar类3.1 简单介绍3.2 创建对象代码演示 3.3 静态常量3.4 常…

战略引领下的成功产品开发之路

在当今竞争激烈的市场环境中&#xff0c;成功的产品开发不仅仅依赖于创意和技术的卓越&#xff0c;更需要战略性的规划和执行。本文将探讨战略在成功产品开发中的重要性&#xff0c;并结合实际案例&#xff0c;分析如何在战略的指引下&#xff0c;将创意转化为商业化的产品或服…

首途第三十三套清新简约卡片风格蓝紫渐变色短视频模板 | 苹果CMSV10主题

首途第三十三套清新简约卡片风格蓝紫渐变色短视频模板 | 苹果CMSV10主题 我们的简约风格&#xff0c;以纯洁的白色和深邃的紫色为主色调&#xff0c;为您提供了一种清新、时尚的浏览体验。在这个简洁而美丽的界面中&#xff0c;您可以轻松畅享各种精彩短视频。我们专注于简单的…

darts 时序预测入门

darts是一个强大而易用的Python时间序列建模工具包。在github上目前拥有超过7k颗stars。 它主要支持以下任务: 时间序列预测 (包含 ARIMA, LightGBM模型, TCN, N-BEATS, TFT, DLinear, TiDE等等) 时序异常检测 (包括 分位数检测 等等) 时间序列滤波 (包括 卡尔曼滤波&#xff0…

【CS.OS】操作系统如何使用分页和分段技术管理内存

1000.5.CS.OS.1.3-基础-内存管理-操作系统如何使用分页和分段技术管理内存-Created: 2024-06-09.Sunday10:24 操作系统的内存管理是一个复杂而关键的功能&#xff0c;它确保了程序可以高效、安全地运行。虚拟内存管理是其中一个重要的概念&#xff0c;它通过分页和分段技术来实…

2024-6-9

今日安排&#xff1a; 学校的课程作业windows SEH 机制简单入门windows 用户态 pwn / 内核态入门 计网实验报告 && 网安实验报告继续审计 nf_tables 源码&#xff0c;主要看 active 相关逻辑。复现 CVE-2022-32250 这个漏洞【 && iptables 相关学习】♥♥♥♥…

文章解读与仿真程序复现思路——电力自动化设备EI\CSCD\北大核心《计及电力不平衡风险的配电网分区协同规划》

本专栏栏目提供文章与程序复现思路&#xff0c;具体已有的论文与论文源程序可翻阅本博主免费的专栏栏目《论文与完整程序》 论文与完整源程序_电网论文源程序的博客-CSDN博客https://blog.csdn.net/liang674027206/category_12531414.html 电网论文源程序-CSDN博客电网论文源…