文章目录


私服

【Maven】私服_上传

之前提到过私服(仓库)的概念:

  • ​仓库​​:顾名思义就是用于存储资源的地方 - 包含各种jar包
  • ​本地仓库​​:就是指的你当前使用的电脑上的资源仓库
  • ​私服仓库​​:类似于中间存储介质,因为都从中央去拿的话并发高,效率低;有了私服,首先私服去中央拿,拿过一次后就不需要再拿了,下次需要直接到私服拿(一般适用于部门公司
  • ​中央仓库​​:由Maven开发团队管理的仓库,包含了全世界99%的jar包资源

私服的作用

  • 保存具有​​版权​​的资源,包含购买或自主研发的jar(中央仓库中的jar都是开源的,不能存储具有版权的资源
  • 一定范围内共享资源,仅对内部开放,不对外共享

一、Nexus的下载与安装

Nexus是Sonatype公司的一款maven私服产品,这里我们将下载并使用


下载地址∶https∶//help.sonatype.com/repomanager3/download

【Maven】私服_上传_02

下载第二个windows版本即可,下载完解压即可:

【Maven】私服_上传_03

进入F:\Maven\Nexus\nexus-3.20.1-01\bin,启动cmd使用命令​nexus /run nexus​启动服务:

【Maven】私服_返回顶部_04

看到上图所示内容代表服务启动成功,接着打开浏览器访问localhost:8081即可:

【Maven】私服_返回顶部_05

修改基础配置信息

◆ 安装路径下​​etc目录​​​中​​nexus-default.properties文件​​保存有nexus基础配置信息,例如默认访问端口修改服务器运行配置信息

◆ 安装路径下​​bin目录​​​中​​nexus.vmoptions文件​​保存有nexus服务器启动对应的配置信息,例如默认占用内存空间

首先点击右上角进行登陆,根据指示信息输入用户、密码:

【Maven】私服_上传_06

进入之后进行密码修改,这里就设为123456:

【Maven】私服_服务器_07

匿名访问忽略即可!

登陆之后,左侧导航栏分别是:资源查找、私服仓库、资源上传

【Maven】私服_java_08

螺丝帽按钮是服务器相关的配置:

【Maven】私服_maven_09

返回顶部


二、仓库分类

【Maven】私服_maven_10

1、宿主仓库hosted

  • 保存无法从中央仓库获取的资源
  • 自主研发
  • 第三方非开源项目

2、代理仓库proxy

  • 代理远程仓库,通过nexus访问其他公共仓库,例如中央仓库

3、仓库组group

  • 将若干个仓库组成一个群组,简化配置
  • 仓库组不能保存资源,属于设计型仓库

使用nexus创建一个我们自己的仓库:

【Maven】私服_maven_11

【Maven】私服_服务器_12

【Maven】私服_上传_13

将自己的仓库添加到公共群组中:

【Maven】私服_maven_14

返回顶部


三、手动资源上传

上传资源时提供对应的信息

  • 保存的位置(宿主仓库)
  • 资源文件
  • 对应坐标

1、选择仓库

【Maven】私服_java_15


【Maven】私服_上传_16

2、配置上传资源信息

【Maven】私服_返回顶部_17

3、上传完成

【Maven】私服_上传_18

返回顶部


四、本地仓库访问私服

找到maven​setting​配置文件,配置本地仓库访问私服的权限信息:

<servers>
<server>
<id>zyx-release</id>
<username>admin</username>
<password>123456</password>
</server>
<server>
<id>zyx-snapshots</id>
<username>admin</username>
<password>123456</password>
</server>
</servers>

配置本地仓库的资源来源:

<mirrors> 
<mirror>
<id>nexus-zyx</id>
<mirrorOf>*</mirrorOf>
<url>http://localhost:8081/repository/maven-public/</url>
</mirror>
</mirrors>

返回顶部


五、Idea访问私服及组件上传

配置当前项目访问私服上传资源的保存位置(
pom.xml)

<distributionManagement>
<repository>
<id>zyx-release</id>
<url>http://localhost:8081/repository/zyx-release/</url>
</repository>
<snapshotRepository>
<id>zyx-snapshots</id>
<url>http://localhost:8081/repository/zyx-snapshots/</url>
</snapshotRepository>
</distributionManagement>

通过以上的配置,当项目在发布的时候,利用id信息找到配置中的用户名和密码访问私服地址进行上传资源:

【Maven】私服_java_19

需要发布的时候,点击的deploy即可:

【Maven】私服_服务器_20

上传完成后,我们进入私服进行查看:

【Maven】私服_返回顶部_21

可以看到,我们当前上传的版本均是snapshots,所以全部上传到了私服仓库​zyx-snapshots​中,在​search​中我们也可以看到资源的具体信息:

【Maven】私服_返回顶部_22

资源发布

  • 设置私服访问权限
  • 设置资源上传路径
(私服宿主仓库地址)
  • 设置资源下载路径(私服仓库组地址)

返回顶部