# 私服

  • 私服是一台独立的服务器,用于解决团队内部的资源共享与资源同步问题

  • Nexus

    • Sonatype 公司的一款 maven 私服产品
    • 下载地址: 点击

image_2023-03-07-19-23-12

  • 安装 Nexus

image_2023-03-07-20-01-56

  • 安装完成后解压

image_2023-03-07-20-03-26

  • 启动服务器 (命令行启动)
nexus.exe /run nexus

启动比较慢,耐心等待出现 success

  • 访问服务器 (默认端口:8081)
http://localhost:8081
  • 修改基础配置信息

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

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

# 私服仓库分类

仓库类别英文名称功能关联操作
宿主仓库hosted保存自主研发 + 第三方资源上传
代理仓库proxy代理连接中央仓库下载
仓库组group为仓库编组简化下载操作下载

# 私服资源操作流程分析

image_2023-03-07-20-16-01

# 资源上传和下载

image_2023-03-07-20-27-25

# Maven 配置私服访问

操作步骤:

  1. 在私服中创建两个仓库

image_2023-03-07-20-46-36

image_2023-03-07-20-47-30

起名后点击 create 创建即可,再创建一个 release 的仓库出来

  1. 创建完成后,打开 maven 的 conf 目录中的 settings.xml 配置文件
  • 配置 servers 标签
<!-- 配置访问私服的权限 -->
	<server>
	<!-- 私服中的服务器 id 名称 -->
      <id>dkx-snapshot</id>
      <username>admin</username>
      <password>admin</password>
    </server>
	
	<!-- 配置访问私服的权限 -->
	<server>
	<!-- 私服中的服务器 id 名称 -->
      <id>dkx-release</id>
      <username>admin</username>
      <password>admin</password>
    </server>
  • 配置 mirror 标签
  1. 在私服中点击 maven-public 仓库

image_2023-03-07-20-52-33

  1. 将两个创建好的仓库拖拽过去到 Members 中,让其组来管理

image_2023-03-07-20-53-51

<!-- 私服的访问路径 -->
	<mirror>
     <!-- 配置管理那两个仓库的组的 id-->
	  <id>maven-public</id>
	  <!-- 所有的操作都与私服打交道 -->
	  <mirrorOf>*</mirrorOf>
     <!-- 配置该组的 url 地址 -->
	  <url>http://localhost:8081/repository/maven-public/</url>
	</mirror>
  1. 配置 pom.xml 配置文件
<!--    配置当前工程保存在私服中具体的位置 -->
    <distributionManagement>
        <repository>
            <id>dkx-release</id>
            <url>http://localhost:8081/repository/dkx-release/</url>
        </repository>
        <snapshotRepository>
            <id>dkx-snapshot</id>
            <url>http://localhost:8081/repository/dkx-snapshot/</url>
        </snapshotRepository>
    </distributionManagement>

# mvn deploy 发布命令

  • 将 jar 发布到私服仓库中
  1. 执行命令上传 mvn deploy

image_2023-03-07-21-56-45

  • 上传报错查看解决方式

点击查看

再将版本改为 snapshot 临时版本然后上传

<groupId>com.dkx.spring</groupId>
  <artifactId>maven-spring-fu01</artifactId>
  <version>1.0-SNAPSHOT</version>
  <packaging>pom</packaging>

所有子工程也更改

执行 mvn deploy

查看上传情况

  • release

image_2023-03-07-22-09-02

  • snapshot

image_2023-03-07-22-09-21

# 私服访问中央服务器设置

  • 配置位置 (nexus 服务器页面设置)

image_2023-03-07-22-12-33