Sonatype Nexus搭建Maven私服操作记录

一、Nexus安装

先在官网下载Nexus 3.15.2-01 OSX版本安装包

在这里插入图片描述
把安装包复制到阿里云服务器47.110.xxx.xxx的usr路径下

在这里插入图片描述
登录服务器并切换到usr路径下
输入命令:tar -zxvf nexus-3.15.2-01-unix.tar.gz

重命名文件夹:mv nexus-3.15.2-01 nexus

进入nexus/bin 路径,输入命令:./nexus run & ,启动 nexus

启动警告,这个可以忽略。看到 Started Sonatype Nexus OSS 3.15.2-01 表示启动成功。启动警告
登录 http://47.110.xxx.xxx:8081/ ip+端口(8081默认)
默认账号:admin , 默认密码:admin123

在这里插入图片描述
登录后:
在这里插入图片描述
在这里插入图片描述
1、Nexus 内置仓库介绍
Maven Gentral:该仓库代理Maven中央仓库,其策略为Release,因此只会下载和缓存中央仓库中的发布版本构件。
Release:这是一个策略为Release的宿主类型仓库,用来部署组织内部的发布版本构件。
Snapshots:这是一个策略为Snapshot的宿主类型仓库,用来部署组织内部的快照版本构件。
3rd party:这是一个策略为Release的宿主类型仓库,用来部署无法从公共仓库获得的第三方发布版本构件。
Apache Snapshots: 这是一个策略为Snapshot的代理仓库,用来代理Apache Maven仓库的快照版本构件。
Codehaus Snapshots: 这是一个策略为Snapshot的代理仓库,用来代理Codehaus Maven仓库的快照版本构件。
Google code: 这是一个策略为Release的代理仓库,用来代理Google Code Maven仓库发布版本构件。
java.net Maven2:这是一个策略为Release的代理仓库,用来代理java.net Maven仓库的发布版本构件
Public Repositories:该仓库组将上述所有策略为Release的仓库聚合并通过一致的地址提供服务
Public Snapshot Repositories: 该仓库组将上述所有的策略为Snapshot的仓库聚合并通过一致的地址提供服务。(在nexus-oss-webapp-1.9.2.3 这版本中没有此项)
2、Nexus仓库分类概念
nexus里可以配置3种类型的仓库,分别是proxy、hosted、group

proxy是远程仓库的代理。比如说在nexus中配置了一个central repository的proxy,当用户向这个proxy请求一个artifact,这个proxy就会先在本地查找,如果找不到的话,就会从远程仓库下载,然后返回给用户,相当于起到一个中转的作用

hosted是宿主仓库,用户可以把自己的一些构件,deploy到hosted中,也可以手工上传构件到hosted里。比如说oracle的驱动程序,ojdbc6.jar,在central repository是获取不到的,就需要手工上传到hosted里

group是仓库组,在maven里没有这个概念,是nexus特有的。目的是将上述多个仓库聚合,对用户暴露统一的地址,这样用户就不需要在pom中配置多个地址,只要统一配置group的地址就可以了

Maven可以直接从宿主仓库下载构件;maven也可以从代理仓库下载构件,而代理仓库会间接地从远程仓库下载并缓存构件;最后,为了方便,Maven可以从仓库组下载构件,而仓库组没有实际内容,它会转向其包含的宿主仓库或者代理仓库获得市级构件的内容。

3、创建Nexus宿主仓库
创建一个宿主仓库首先单击界面左边导航栏中的Repositories链接,在右边的面板中,选择Create repository按钮,接着在下拉菜单中选择Hosted Repository,就会看到如下图的配置界面:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
输入存储库名称:Test,点击创建存储库
在这里插入图片描述
点击Test存储库
在这里插入图片描述
创建Nexus代理仓库
操作和创建宿主仓库类似,主要Repository Type 的值选为proxy 这时看到如下图:
对于代理仓库来说,最重要的是远程仓库地址即
Remote Storage Location,用户必须输入有效的值
在这里插入图片描述
创建Nexus仓库组
创建仓库组同其他的一样步骤是在选择Create repository时选择菜单中的maven2(group) 就会看到如下的:
如图所示:输入组名后,把下方左侧存储库转移到右侧仓库组中。
在配置界面中可以选择Nexus中的仓库,将其聚合成一个虚拟的仓库组,注意,仓库组所包含的仓库的顺序决定了仓库组便利其所含仓库的次序,因此最好将常用的仓库放在前面,当用户从仓库组下载构件的时候,就能经快的访问到包含构件的仓库。
在这里插入图片描述

下图紫色背景异常提醒可不做理会
在这里插入图片描述
配置Maven 从Nexus下载构件
当需要为项目添加Nexus私服上的public仓库时,可以在项目pom.xml文件配置 代码如下:
在这里插入图片描述

这样的配置只对当前的Maven项目有效,实际应用中,我们往往想要通过一次配置就完成能让本机所有的Maven项目都使用自己的Maven私服。这时配置本地仓库setting.xml 代码如下:
在这里插入图片描述

使用Maven 部署构件至Nexus
日常开发生成的快照版本构件可以直接部署到Nexus中策略为Snapshot的宿主仓库中,项目正式发布的构件则应该部署到Nexus中策略为Release的宿主仓库中。POM.XML配置如下:

在这里插入图片描述
Nexus 的仓库对于普通用户是只读的,为了能够部署构件,还需要在setting.xml 中配置认证信息代码如下:
在这里插入图片描述

点击这里浏览服务器内容,点击Maven就可以看到蓝色方框里已上传的jar包
在这里插入图片描述
点此上传jar包
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值