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

快速搭建Maven仓库服务

一、Nexus Repository Manager(推荐方案)

1. Docker快速部署

# 拉取Nexus3镜像
docker pull sonatype/nexus3# 启动容器(端口映射为8081)
docker run -d -p 8081:8081 --name nexus sonatype/nexus3# 查看启动日志
docker logs -f nexus

2. 初始配置

  • 访问管理界面
    打开浏览器访问 http://localhost:8081,点击右上角 Sign in

  • 获取默认密码
    进入Nexus容器查找初始密码:

    docker exec -it nexus sh
    cat /nexus-data/admin.password
    

    输入密码后,按提示修改为自定义密码。

  • 创建Maven仓库

    1. 点击 SettingsRepositoriesCreate Repository
    2. 选择 Maven2 (hosted) 类型,配置:
      • Name: maven-releases(发布库)或 maven-snapshots(快照库)
      • Version Policy: ReleaseSnapshot
      • Deployment Policy: Allow Redeploy(允许重复部署)

3. Maven集成配置

  • 修改 settings.xml(全局配置):

    <settings><servers><server><id>nexus</id><username>admin</username><password>自定义密码</password></server></servers><mirrors><mirror><id>nexus</id><mirrorOf>*</mirrorOf><url>http://localhost:8081/repository/maven-public/</url></mirror></mirrors>
    </settings>
    
  • 项目 pom.xml 配置(发布到Nexus):

    <distributionManagement><repository><id>nexus</id><url>http://localhost:8081/repository/maven-releases/</url></repository><snapshotRepository><id>nexus</id><url>http://localhost:8081/repository/maven-snapshots/</url></snapshotRepository>
    </distributionManagement>
    

4. 部署与验证

  • 部署构件到Nexus
    mvn clean deploy
    
  • 验证仓库内容
    访问 http://localhost:8081/#browse/browse:maven-public,确认构件已上传。

二、Apache Archiva(轻量级方案)

1. 手动安装

# 下载Archiva
wget https://archive.apache.org/dist/archiva/2.2.9/binaries/apache-archiva-2.2.9-bin.zip
unzip archiva-2.2.10-standalone.zip
cd archiva-2.2.10/bin# 启动服务(调试模式)
./archiva-debug.sh run

2. 访问管理界面

  • 打开 http://localhost:8080/archiva,默认账号 admin/admin
  • 创建Maven仓库(hosted类型),配置代理仓库(如阿里云Maven中央仓库)。

3. Maven集成

  • 修改 settings.xml
    <mirrors><mirror><id>archiva</id><url>http://localhost:8080/repository/internal/</url><mirrorOf>*</mirrorOf></mirror>
    </mirrors>
    

三、手动搭建(Nginx+文件系统)

1. 创建本地仓库目录

mkdir -p /opt/maven-repo
chmod -R 755 /opt/maven-repo

2. Nginx配置

server {listen 80;server_name localhost;location / {root /opt/maven-repo;autoindex on;  # 启用目录列表}
}

3. Maven配置

  • 修改 settings.xml
    <settings><localRepository>/opt/maven-repo</localRepository><mirrors><mirror><id>local-repo</id><url>http://localhost/</url><mirrorOf>*</mirrorOf></mirror></mirrors>
    </settings>
    

四、方案对比与推荐

方案适用场景优点缺点
Nexus企业级/团队级私有仓库功能全面,支持代理、权限管理、CI/CD集成资源占用较高,学习成本中等
Archiva小型团队/个人开发者轻量级,配置简单社区活跃度低,扩展性有限
手动搭建临时测试/极简需求零成本,快速上手缺乏高级功能(权限、缓存加速)

最终推荐
优先选择 Nexus Repository Manager,通过Docker部署实现开箱即用,兼顾企业级功能与易用性。若资源有限,可尝试手动搭建方案作为临时解决方案。


在这里插入图片描述

http://www.lryc.cn/news/587465.html

相关文章:

  • 前端面试十二之vue3基础
  • 从代码学习深度强化学习 - DDPG PyTorch版
  • CCPD 车牌数据集提取标注,并转为标准 YOLO 格式
  • MySQL 分表功能应用场景实现全方位详解与示例
  • JavaSE-多态
  • 010_学习资源与社区支持
  • Linux713 SAMBA;磁盘管理:手动挂载,开机自动挂载,自动挂载
  • 输入npm install后发生了什么
  • C++高频知识点(十)
  • Excalidraw:一款颠覆传统思维的免费开源绘图工具
  • 什么是RAG(Retrieval-Augmented Generation)?一文读懂检索增强生成
  • Vue3 实现文件上传功能
  • 【操作系统】strace 跟踪系统调用(一)
  • 网络编程 JAVA
  • 2025年渗透测试面试题总结-2025年HW(护网面试) 45(题目+回答)
  • 学习开发之无参与有参
  • 前四天综合总结
  • Cursor的使用
  • ARC 03 从Github Action job 到 runner pod
  • 暑期自学嵌入式——Day01(C语言阶段)
  • BERT系列模型
  • Spring AI 项目实战(十六):Spring Boot + AI + 通义万相图像生成工具全栈项目实战(附完整源码)
  • 闲庭信步使用图像验证平台加速FPGA的开发:第十三课——图像浮雕效果的FPGA实现
  • 【Mysql作业】
  • 16.使用ResNet网络进行Fashion-Mnist分类
  • [GWCTF 2019]我有一个数据库
  • 在 Ubuntu 下安装 MySQL 数据库
  • 谷歌推出Vertex AI Memory Bank:为AI智能体带来持久记忆,支持连续对话
  • 【echarts踩坑记录】为什么第二个Y轴最大值不整洁
  • 华为HarmonyOS 5.0深度解析:跨设备算力池技术白皮书(2025全场景智慧中枢)