Maven私服搭建(Nexus)

本文介绍了Maven私服作为内部仓库的重要性,它能节省带宽、加快下载速度,部署私有构件,提高项目稳定性,并通过Docker和YML配置来搭建和管理。搭建步骤包括创建YML文件、启动Nexus服务和设置管理员权限。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

介绍

Maven 私服是一种特殊的远程仓库,它是架设在局域网内的仓库服务,用来代理位于外部的远程仓库(中央仓库、其他远程公共仓库)。

建立了 Maven 私服后,当局域网内的用户需要某个构件时,会按照如下顺序进行请求和下载。
1.请求本地仓库,若本地仓库不存在所需构件,则跳转到第 2 步;
2.请求 Maven 私服,将所需构件下载到本地仓库,若私服中不存在所需构件,则跳转到第 3 步。
3.请求外部的远程仓库,将所需构件下载并缓存到 Maven 私服,若外部远程仓库不存在所需构件,则 Maven 直接报错。

下图中展示了 Maven 私服的用途。
请添加图片描述
Maven 私服优势
Maven 私服具有以下 5 点优势:

  • 节省外网带宽
    大量对于外部远程仓库的重复请求,会消耗很大量的带宽,利用 Maven 私服代理外部仓库后,能够消除对外部仓库的大量重复请求,降低外网带宽压力。
  • 下载速度更快
    Maven 私服位于局域网内,从私服下载构建更快更稳定。
  • 便于部署第三方构件
    有些构件是无法从任何一个远程仓库中获得的(例如,某公司或组织内部的私有构件、Oracle 的 JDBC 驱动等),建立私服之后,就可以将这些构件部署到私服中,供内部 Maven 项目使用。
  • 提高项目的稳定性,增强对项目的控制
    如果不建立私服,那么 Maven 项目的构件就高度依赖外部的远程仓库,若外部网络不稳定,则项目的构建过程也会变得不稳定。
    建立私服后,即使外部网络状况不佳甚至中断,只要私服中已经缓存了所需的构件,Maven 也能够正常运行。
    此外,一些私服软件(如 Nexus)还提供了很多额外控制功能,例如,权限管理、RELEASE/SNAPSHOT 版本控制等,可以对仓库进行一些更加高级的控制。
  • 降低中央仓库得负荷压力
    由于私服会缓存中央仓库得构件,避免了很多对中央仓库的重复下载,降低了中央仓库的负荷。
搭建

1.创建YML文件

vi docker-compose-nexus.yml
version: '3'
services:
  nexus:
    image: sonatype/nexus3
    restart: always
    container_name: nexus
    privileged: true
    ports:
      - 8081:8081
#    - 15000:5000
#    - 18082:8082
#    - 18083:8083
    volumes:
    - /data/nexus/data:/nexus-data
    environment:
      - ES_JAVA_OPTS="-Xmx1024m -Xms256m"
    network_mode: host

2.启动服务

docker-compose -f docker-compose-nexus.yml up -d

3.访问服务 http://192.168.1.57:8081
用户为:admin
密码在初始化文件中 admin.password 中文件位于数据目录下
cat /data/nexus/data/admin.password
在这里插入图片描述
第一次访问需要修改admin密码按提示一步一步完成即可。
设置完密码会有个匿名访问的设置,根据需求去开启就好。到此私服就搭建完成了。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值