当前位置: 首页 > news >正文

搭建 Nexus3 私服并配置第三方 Maven 仓库(阿里云等)和优先级

在企业开发环境中,搭建私有 Maven 仓库(Nexus3)可以减少外网依赖、加快构建速度,并统一管理内部组件。本文介绍如何通过 Docker Compose 部署 Nexus3,并配置阿里云等第三方中央仓库,以及如何设置仓库优先级。


1. 环境准备

  • Docker
  • Docker Compose
  • Linux 服务器 (本文示例路径:/home/env/nexus3)

2. 部署 Nexus3

2.1 编写 docker-compose.yml

/home/env/nexus3 目录下创建 docker-compose.yml 文件:

version: '3.3'
services:nexus3:image: sonatype/nexus3:3.84.1container_name: nexus3restart: alwaysports:- "8082:8081"volumes:- ./data:/nexus-data

2.2 启动容器

cd /home/env/nexus3
docker-compose up -d

如果执行后无法启动,可尝试为数据目录添加权限:

chmod -R 777 data

3. Nexus 初始化配置

3.1 默认账号信息

  • 默认用户名:admin
  • 默认密码路径:
docker exec -it nexus3 cat /opt/sonatype/sonatype-work/nexus3/admin.password

3.2 初始化步骤

  1. 登录后会提示修改默认密码,在修改密码完成之后,admin.password 文件会自动删除。
  2. 设置仓库访问鉴权(强烈建议开启账号密码)

4. 仓库配置

4.1 添加阿里云仓库

  • 登录 Nexus UI (http://服务器IP:8082)

  • 进入 Repositories -> Create repository -> maven2 (proxy)

  • 填写仓库信息,例如:

    • Repository Name: maven-aliyun
    • Remote Storage: https://maven.aliyun.com/repository/public

保存后,Nexus 会将请求代理到阿里云 Maven 中央仓库。


在这里插入图片描述

4.2 添加特定第三方仓库 (示例:Activiti)

同样创建 maven2 (proxy) 仓库:

  • Repository Name: maven-activiti
  • Remote Storage: https://artifacts.alfresco.com/nexus/content/repositories/activiti-releases

在这里插入图片描述

5. Group 仓库与优先级

Nexus 提供 Group 仓库 功能,可以将多个仓库聚合成一个入口。常见的组合方式:

  • maven-public(默认组)
    • maven-releases
    • maven-snapshots
    • maven-aliyun
    • maven-central
    • maven-activiti

目前优先级为:私包 -> 阿里云 -> 中央仓库 -> 特定三方仓库
注意:Group 仓库的优先级由顺序决定,上方仓库的结果优先返回。
比如想优先使用 阿里云镜像,需要将 maven-aliyun 移到 maven-central 前面。


在这里插入图片描述

6. Maven 客户端配置

在开发者机器上修改 settings.xml(示例路径:$MAVEN_HOME/conf/settings.xml~/.m2/settings.xml):

<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0http://maven.apache.org/xsd/settings-1.0.0.xsd"><!-- 本地仓库 --><localRepository>D:/tools/maven/repository</localRepository><servers><!-- Nexus 私服认证 --><server><id>nexus</id><username>admin</username><password>xxx</password></server></servers><mirrors><!-- 所有请求统一走 Nexus Group 仓库 --><mirror><id>nexus</id><mirrorOf>*</mirrorOf><url>http://ip:8082/repository/maven-public/</url></mirror></mirrors>
</settings>

这样,所有 Maven 依赖请求都会优先走 Nexus 私服,并根据配置的 Group 仓库顺序选择源。


在这里插入图片描述

7. 总结

通过以上步骤,我们完成了:

  1. 使用 Docker Compose 快速部署 Nexus3
  2. 初始化账号密码和权限配置
  3. 添加阿里云和第三方仓库
  4. 通过 Group 仓库设置仓库优先级
  5. 客户端配置 Maven settings.xml 使用私服

这种方式可以在团队内部快速构建高效稳定的 Maven 私服,既能利用外部加速仓库,又能保证内部依赖可控。

http://www.dtcms.com/a/418931.html

相关文章:

  • JVM 深入研究 -- 详解class 文件
  • Apache Airflow漏洞致敏感信息泄露:只读用户可获取机密数据
  • 第十六周-基本量子3
  • 手机微网站怎么制作缪斯国际设计董事长
  • 在 Spring Cloud Gateway 中实现跨域(CORS)的两种主要方式
  • SQL Server从入门到项目实践(超值版)读书笔记 27
  • 【Git】项目管理全解
  • rdm响应式网站开发企业年报网上申报流程
  • 昆山开发区网站制作网站建设文档模板
  • PySide6调用OpenAI的Whisper模型进行语音ASR转写
  • 网站怎么被黑磁力蜘蛛
  • nginx反向代理和负载均衡
  • 外贸seo外贸推广外贸网站建设外贸网站建设网站域名信息查询
  • 新广告法 做网站的python和c++学哪个好
  • 数据科学与数据分析:真正的区别是什么?
  • default-route-advertise always 概念及题目
  • Python爬虫实战:获取东方财富网CPI信息与数据分析
  • Filebeat写ElasticSearch故障排查思路(上)
  • 网站开发进度安排文档青岛关键词优化排名
  • C# TCP 服务端与客户端代码分析与补充
  • 族蚂建站郴州网站建设费用价格
  • 对象分配在哪块内存?
  • AI Agent智能体如何突破“听懂却做不好”困局?多模态技术打通全链路
  • 图卷积网络 (GCN)
  • JMeter中常用的配置优化
  • 网站怎样做优化调整深圳vi设计深圳vi设计公司
  • 做教育培训网站需要资质么网站对联广告图片
  • 《Muduo网络库:实现Channel通道以及Poller抽象基类》
  • 安全系统架构
  • 中国画廊企业网站模板thinkphp做视频网站