Nexus搭建maven私有仓库

目录

1.Nexus介绍

2.操作步骤

1.下载Nexus

2.安装和启动nexus

3.使用私服

1.登录管理员

2.私服介绍

1.配置参数认识

2.创建仓库

4.maven使用私库

1.安装maven

2.配置maven

3.在项目中打包部署和发布 

5.向私库添加jar包

​1.添加jar

2.使用jar


1.Nexus介绍

内网访问,内网团队使用一个服务缓存节省外网宽带。
微服务开发中加速 Maven 项目构建,加快团队合作,提高工作效率
允许上传和下载私有库,并且不被外部访问,安全 稳定。
方便内部项目服务的依赖引用,而不需要其他项目的完整源代码。

2.操作步骤

1.下载Nexus

官网地址:Download Repository OSS  但是下载速度比较慢

这里我下载好了打包到了网盘,可以直接通过我的网盘去下载,地址如下:

链接:https://pan.baidu.com/s/1xQpQrV-oM7fpG-mTkQddWQ?pwd=701r 
提取码:701r

下载完成后会获得一个压缩包,解压即可

2.安装和启动nexus

默认端口是8081可能会和其他程序端口有冲突,修改nexus端口,可以进入\nexus-3.31.1-01\etc目录,修改nexus-default.properties文件中的port

 使用 ./nexus.exe /install nexus安装nexus

安装完成后使用 ./nexus.exe /start启动私库

启动完成后访问localhost:port 访问私库 (localhost:8088)

当看到这个页面就表示安装完成了

3.使用私服

1.登录管理员

启动成功后 密码会随机生成 在\nexus\sonatype-work\nexus3 目录下有一个password文件中

使用这个文件里的密码进行登录,用户名为admin,登录成功后会进行二次验证,这里输入相同的密码即可:

点击next以下是不重要的选择,跟着填就行

最后,admin.password文件是一次性的,当你登录成功改文件会被删除,下次登录相信我你肯定不会记得密码的,所以一定要记得修改用户密码:

2.私服介绍

1.配置参数认识

nuget-hosted:本地存储。像官方仓库一样提供本地私库功能

        hosted有三种方式:Releases、Snapshot、Mixed
                Releases: 一般是已经发布的Jar包
                Snapshot: 未发布的版本
                Mixed:混合的
nuget.org-proxy:提供代理其它仓库的类型
nuget-group:组类型,能够组合多个仓库为一个地址提供服务
maven-central:maven中央库,默认从https://repo1.maven.org/maven2/拉取jar
maven-releases:私库打包发行版jar
maven-snapshots:私库快照(调试版本)jar
maven-public:仓库分组,把上面三个仓库组合在一起对外提供服务,在本地maven基础配置settings.xml中使用

2.创建仓库

点击 Create repository创建maven代理仓库(proxy类型)

以阿里云为例,创建本地阿里云代理仓库(也可以创建华为云、腾讯云)

配置好阿里云镜像地址后,点击创建即可,这里提供一个查看阿里云各版本仓库的地址:仓库服务

创建完成后会回到仓库管理页面,这时就能看到我们创建成功的代理仓库了,同时也可以看到代理仓库的状态是否正常

再创建一个本地仓储用来存放release版本的jar包

类型一定要选择release

配置完成后,最后将阿里云镜像配置为优先使用

4.maven使用私库

1.安装maven

2.配置maven

把私库地址配置到maven配置文件中

<?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">

  <!-- <localRepository>C:\\Users\\monke\\.m2\\repository</localRepository> -->
  <localRepository>D:\software\apache-maven-3.6.1\repository</localRepository>

  <servers>
  <!-- 配置本地仓库访问私服的权限  nexus的 登录用户名密码 -->
	<server>
      <id>nexus</id>
      <username>admin</username>
      <password>admin</password>
    </server>
  </servers>

  <mirrors>
	<!-- 配置本地仓库资源来源 -->
    <mirror>
        <id>maven-public</id>
        <mirrorOf>*</mirrorOf>
        <url>http://localhost:8088/repository/maven-public/</url>
    </mirror>
  
	 <mirror>
		<id>nexus-aliyun</id>
		<mirrorOf>*</mirrorOf>
		<name>Nexus aliyun</name>
		<url>http://maven.aliyun.com/nexus/content/groups/public</url>
	 </mirror>
  </mirrors>

</settings>

项目部署和发布需要在pom.xml中添加  distributionManagement 配置


<!--  maven仓库配置 deploy时可推送到配置的仓库中	-->
<distributionManagement>
	<repository>
		<id>maven-releases</id>
		<name>Nexus Releases Repository Pro</name>
		<url>http://localhost:8088/repository/maven-releases/</url>
	</repository>
 
	<snapshotRepository>
		<id>maven-snapshots</id>
		<name>Nexus Snapshots Repository Pro</name>
		<url>http://localhost:8088/repository/maven-snapshots/</url>
	</snapshotRepository>
</distributionManagement>

3.在项目中打包部署和发布 

maven命令介绍:

package 命令完成了项目编译、单元测试、打包功能,但并没有把打好的可执行jar包(war包或其它形式的包)布署到本地maven仓库和远程maven私服仓库
install 命令完成了项目编译、单元测试、打包功能,同时把打好的可执行jar包(war包或其它形式的包)布署到本地maven仓3库,但没有布署到远程maven私服仓库
deploy 命令完成了项目编译、单元测试、打包功能,同时把打好的可执行jar包(war包或其它形式的包)布署到本地maven仓库和远程maven私服仓库

使用deploy打包并部署到私库,并在私库中查看

5.向私库添加jar包

公网上找不到的开发包或者是客户提供的特殊的开发包,开发人员可以通过Maven添加jar包,将jar包中的功能添加到私库中供其他链接私库的人使用

流程:

1.添加jar

点击右侧的“Upload”,点击“maven-releases”

点击Browse上传准备好的jar包

点击“Extension”,填入相对应的jar包文件类型名称。如上传xxxx.jar,则“Extension”填入“jar”

自定义编辑Group ID(输入英语或数字)、Artifact ID(输入英语或数字)和Version。输入完成后,勾上“Generate a POM file with these coordinates”,点击“Upload”

注意:这里的设置的id在pom中引入也是用相同的名称

上传完成后,可以点击"view it now"查看

也可以搜索查看

点击搜索到的结果查看上传的jar包的详情

2.使用jar

在pom.xml中,使用刚刚定义的groupId和artifactId以及version即可使用上传的jar包

<dependency>

        <groupId>admin</groupId>

        <artifactId>test</artifactId>

        <version>1.0</version>

</dependency>

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

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

相关文章

水泥行业超低排放简介

在当今社会&#xff0c;随着环保意识的不断提高&#xff0c;水泥行业作为重要的工业领域&#xff0c;其超低排放的实施范围及成效日益受到人们的关注。朗观视觉小编将从多个角度探讨水泥行业超低排放的实施范围&#xff0c;分析其背后的意义与影响&#xff0c;展望未来的发展趋…

【Linux】段错误(核心已转储)(core dumped)问题的分析方法

&#x1f60e; 作者介绍&#xff1a;我是程序员洲洲&#xff0c;一个热爱写作的非著名程序员。CSDN全栈优质领域创作者、华为云博客社区云享专家、阿里云博客社区专家博主。 &#x1f913; 同时欢迎大家关注其他专栏&#xff0c;我将分享Web前后端开发、人工智能、机器学习、深…

美摄科技匿名化处理解决方案,包含模糊、同色、马赛克、效果遮挡等各种形式

信息安全已成为企业发展中不可忽视的重要一环&#xff0c;随着信息安全法规的日益严格和公众对个人隐私保护意识的不断提高&#xff0c;企业如何在保障业务顺畅进行的同时&#xff0c;满足信息安全和隐私保护的要求&#xff0c;成为了亟待解决的问题。美摄科技凭借其强大的技术…

Stable Diffusion: ControlNet Canny检测

同样在ControlNet中&#xff0c;尝试换为Canny检测 拖放原始姿态图片。 勾选“启用”&#xff0c;“完美像素模式”&#xff0c;“允许预览” 控制类型选择“Canny(硬边缘&#xff09;” 预处理器选“canny”&#xff0c;会对原始姿态图片做Canny边缘检测 模型部分会自动选…

端点物联开发教程之(二)开发演示

目录 一、产品定义 二、基础资源下载 三、嵌入式端开发 3.1 工程搭建 3.2 模型文件修改 3.3 头文件定义 3.4 模型功能开发 3.5 mqtt应用层配置 3.6启动任务 四、用户后端开发 4.1 功能分析 4.2 创建模型文件 4.3 添加基础功能 4.4 数据更新 4.5 阈值设置 4.6 模…

HCIA6以太网基础基于MAC划分VLAN

&#xff08;简写的命令可以敲Tab按键补全剩余&#xff09; 1.组网需求 场景&#xff1a;公司的网络中&#xff0c;管理者将同一部门的员工划分到VLAN10。要求只有本部门员工的PC接入才能互访&#xff0c;其他PC接入交换机属于其他VLAN&#xff08;666&#xff09;。可以配置…

Android WebSocket长连接的实现

一、为什么需要 WebSocket 初次接触 WebSocket 的人&#xff0c;都会问同样的问题&#xff1a;我们已经有了 HTTP 协议&#xff0c;为什么还需要另一个协议&#xff1f;它能带来什么好处&#xff1f; 答案很简单&#xff0c;因为 HTTP 协议有一个缺陷&#xff1a;通信只能由客…

【Three.js】知识梳理十九:线性雾(Fog)、指数雾(FogExp2)和范围雾(RangeFog)

雾是3D图形中创建深度和氛围的重要工具。Three.js提供了多种类型的雾&#xff1a;线性雾&#xff08;THREE.Fog&#xff09;&#xff0c;指数雾&#xff08;THREE.FogExp2&#xff09;和范围雾&#xff08;RangeFog&#xff09;。本文将探讨这三种类型的雾&#xff0c;通过代码…

OLED柔性屏的显示效果如何

OLED柔性屏的显示效果非常出色&#xff0c;具有多方面的优势。以下是关于OLED柔性屏显示效果的详细分析&#xff1a; 色彩表现&#xff1a;OLED柔性屏的每个像素都可以独立发光&#xff0c;因此色彩准确性极高。黑色呈现得非常深邃&#xff0c;而亮部则展现出鲜明而生动的细节。…

Python-docx将Word文档的目录或文本框作为普通段落读入

&#x1f4e2;作者&#xff1a; 小小明-代码实体 &#x1f4e2;博客主页&#xff1a;https://blog.csdn.net/as604049322 &#x1f4e2;欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f4dd; 欢迎讨论&#xff01; 昨天我们处理Word文档的自动编号&#xff0c;详见《Python解析Wo…

maven 显式依赖包包含隐式依赖包,引起依赖包冲突

问题&#xff1a;FlinkCDC 3.0.1 代码 maven依赖包冲突 什么是依赖冲突 依赖冲突是指项目依赖的某一个jar包&#xff0c;有多个不同的版本&#xff0c;因而造成类包版本冲突 依赖冲突的原因 依赖冲突很经常是类包之间的间接依赖引起的。每个显式声明的类包都会依赖于一些其它…

springbot 界面美观的超市收银管理系统。

springbot 界面美观的超市收银管理系统。 功能&#xff1a;登录&#xff0c;用户管理&#xff0c;权限菜单管理&#xff0c;首页订单&#xff0c;收入&#xff0c;用户统计&#xff0c; 收银台&#xff0c;销售账单&#xff0c;库存管理&#xff0c;商品分类&#xff0c;供应…

如何在浏览器书签栏设置2个书签实现一键到达网页顶部和底部

本次设置浏览器为&#xff1a;Chrome浏览器&#xff08;其他浏览器可自行测试&#xff09; 1&#xff0c;随便收藏一个网页到浏览器书签栏 2&#xff0c;右键这个书签 3&#xff0c;修改 4&#xff0c;修改名称 5&#xff0c;修改网址&#xff1a; javascript:(function(…

Vue3中使用深度选择器不起作用

问题&#xff1a; 想要给这个菜单设置高度100%&#xff0c;使用深度样式选择器无效 这样写无效 但是如下在控制台写是有效果的 解决&#xff1a; 参考 解决方法是给这个组件增加一个根元素&#xff0c;然后再使用深度选择器

【Linux】线程(一)

谈论之前需要先谈论一些线程的背景知识 其中就有进程地址空间&#xff0c;又是这个让我们又爱又恨的东西 目录 背景知识&#xff1a;地址空间&#xff1a; 背景知识&#xff1a; 地址空间&#xff1a; 说在前边&#xff0c;OS通常分为4个核心模块&#xff1a;执行流管理&…

IDEA项目上传Github流程+常见问题解决

一、Github上创建仓库 项目创建好后如图所示 二、IDEA连接Github远程仓库 管理远程 复制远程地址 定义远程 登录Github 点击进入File->Settings->Version Control->Github登录自己的账号并勾上“√” 三、推送项目 点击推送 修改为main 点击确定&#xff0c;打开远程…

Python基础教程(十六):正则表达式

&#x1f49d;&#x1f49d;&#x1f49d;首先&#xff0c;欢迎各位来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里不仅可以有所收获&#xff0c;同时也能感受到一份轻松欢乐的氛围&#xff0c;祝你生活愉快&#xff01; &#x1f49d;&#x1f49…

Linux服务器快速下载GoogleDriver小技巧——利用gdown工具

Linux服务器快速下载GoogleDriver小技巧——利用gdown工具 1. 安装gdown pip install gdown安装好后如果在终端输入gdown显示如下错误&#xff1a;gdown: command not found&#xff0c;则说明gdown默认安装的位置需要软链接一下&#xff0c;执行以下命令&#xff1a; sudo …

Qt全局快捷键QGlobalHotKey的自研之路

这两天对Qt的快捷键格外感兴趣。 前两天在使用QHotKey的过程中&#xff0c;发现不能定义小键盘键盘码&#xff0c;自己二次修改了该库之后已经可以设置小键盘快捷键了。文章在这里&#xff1a;Qt第三方库QHotKey设置小键盘数字快捷键。 昨天突发奇想&#xff1a;目前所有的快…

前端项目打包部署

打包 vue-cli脚手架的前端项目&#xff0c;点击npm脚本中的第二条编译命令&#xff0c;即可将项目编译&#xff0c;生成一个dist的文件夹&#xff0c;里面存放的就是编译好的前端项目文件&#xff0c;没有脚手架就在终端敲击npm run build命令编译前端项目 部署 Nginx 介绍:…