• Java开发学习(三十三)----Maven私服(一)私服简介安装与私服分类


    一、私服简介

    团队开发现状分析

    (1)张三负责ssm_crm的开发,自己写了一个ssm_pojo模块,要想使用直接将ssm_pojo安装到本地仓库即可

    (2)李四负责ssm_order的开发,需要用到张三所写的ssm_pojo模块,这个时候如何将张三写的ssm_pojo模块交给李四呢?

    (3)如果直接拷贝,那么团队之间的jar包管理会非常混乱而且容器出错,这个时候就想能不能将写好的项目上传到中央仓库,谁想用就直接联网下载即可

    (4)Maven的中央仓库不允许私人上传自己的jar包,那么我们就得换种思路,自己搭建一个类似于中央仓库的东西,把自己的内容上传上去,其他人就可以从上面下载jar包使用

    (5)这个类似于中央仓库的东西就是我们接下来的私服

    所以到这就有两个概念,一个是私服,一个是中央仓库

    私服:公司内部搭建的用于存储Maven资源的服务器

    远程仓库:Maven开发团队维护的用于存储Maven资源的服务器

    所以说:

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

    搭建Maven私服的方式有很多,我们来介绍其中一种使用量比较大的实现方式:

    二、私服安装

    步骤1:下载解压

    latest-win64.zip解压到一个空目录下。

    步骤2:启动Nexus

    使用cmd进入到解压目录下的nexus-3.30.1-01\bin,执行如下命令:

    nexus.exe /run nexus

    注意:启动如果报如下错误的话可能是路径含有中文,修改一下路径即可

    启动时间稍微有点长,稍微等一下,看到如下内容,说明启动成功。

    步骤3:浏览器访问

    访问地址为:

    http://localhost:8081

    步骤4:首次登录重置密码

    用户名为admin,密码为路径所在的文件内容

    输入用户名和密码进行登录,登录成功后,出现如下页面

    点击下一步,需要重新输入新密码,这里把密码修改为admin

    设置是否运行匿名访问

    点击完成

    至此私服就已经安装成功。如果要想修改一些基础配置信息,可以使用:

    • 修改基础配置信息

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

    • 修改服务器运行配置信息

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

    三、私服仓库分类

    私服资源操作流程分析:

    (1)在没有私服的情况下,我们自己创建的服务都是安装在Maven的本地仓库中

    (2)私服中也有仓库,我们要把自己的资源上传到私服,最终也是放在私服的仓库中

    (3)其他人要想使用你所上传的资源,就需要从私服的仓库中获取

    (4)当我们要使用的资源不是自己写的,是远程中央仓库有的第三方jar包,这个时候就需要从远程中央仓库下载,每个开发者都去远程中央仓库下速度比较慢(中央仓库服务器在国外)

    (5)私服就再准备一个仓库,用来专门存储从远程中央仓库下载的第三方jar包,第一次访问没有就会去远程中央仓库下载,下次再访问就直接走私服下载

    (6)前面在介绍版本管理的时候提到过有SNAPSHOTRELEASE,如果把这两类的都放到同一个仓库,比较混乱,所以私服就把这两种jar包放入不同的仓库

    (7)上面我们已经介绍了有三种仓库,一种是存放SNAPSHOT的,一种是存放RELEASE还有一种是存放从远程仓库下载的第三方jar包,那么我们在获取资源的时候要从哪个仓库种获取呢?

    (8)为了方便获取,我们将所有的仓库编成一个组,我们只需要访问仓库组去获取资源。

    所有私服仓库总共分为三大类:

    宿主仓库hosted

    • 项目小组内自己使用的

    • 保存无法从中央仓库获取的资源

      • 自主研发

      • 第三方非开源项目,比如Oracle,因为是付费产品,所以中央仓库没有

    代理仓库proxy

    • 代理远程仓库,通过nexus访问其他公共仓库,例如中央仓库,或者阿里云等私服仓库

    • 所有项目组(整个公司)公用同一个代理仓库

    仓库组group

    • 将若干个仓库组成一个群组,简化配置

    • 仓库组不能保存资源,属于设计型仓库

    • 每个项目会有一个仓库组,项目小组内共享

     

     



    如果您觉得阅读本文对您有帮助,请点一下“推荐”按钮,您的“推荐”将是我最大的写作动力!欢迎各位转载,但是未经作者本人同意,转载文章之后必须在文章页面明显位置给出作者和原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    老卫带你学---leetcode刷题(98. 验证二叉搜索树)
    RabbitMQ消息积压比较厉害,然后突然丢弃
    5.1 return语句
    【Python学习笔记】深拷贝和浅拷贝
    新增公司管理页 分页设置 新增功能 删除功能
    Redis学习笔记——数据类型
    hypercube背景设置为白色,绘制高光谱3D立方体
    Python 编程助力职业发展:掌握行业趋势,实现高薪梦想
    GO安装以及配置(1)
    2024年元旦怎么放假?元旦放假时间安排表记录到待办APP
  • 原文地址:https://www.cnblogs.com/xiaoyh/p/16464319.html