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

快速搭建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.xdnf.cn/news/15450.html

相关文章:

  • 深入理解 Linux 文件系统层级结构
  • 深入理解 Java JVM
  • Clojure和Golang中的Channel有什么异同(TBC)
  • AI驱动的软件工程(中):文档驱动的编码与执行
  • Python协程进阶:优雅终止与异常处理详解
  • python代码块的表示方法
  • 输入npm install后发生了什么
  • Maven 构建命令
  • HTML 基本骨架
  • 【LeetCode 热题 100】23. 合并 K 个升序链表——(解法一)逐一合并
  • DOS下EXE文件的分析 <1>
  • Linux锁的概念及线程同步
  • 【iOS】方法与消息底层分析
  • 深入了解JAVA中Synchronized
  • CCS-MSPM0G3507-7-模块篇-MPU6050的基本使用
  • 002大模型基础知识
  • 认识String、StringBuffer、StringBuilder
  • vue3 el-select默认选中
  • 【设计模式】策略模式(政策(Policy)模式)
  • 从 Manifest V2 升级到 Manifest V3 的注意事项
  • Cursor三大核心AI功能
  • 详解缓存淘汰策略:LFU
  • JS红宝书pdf完整版
  • mac上BRPC的CMakeLists.txt优化:解决Protobuf路径问题
  • SCTP协议网络编程
  • 【算法】贪心算法:柠檬水找零C++
  • Redis 命令总结
  • SpringBoot3-Flowable7初体验
  • Java 内部类详解:从基础到实战,掌握嵌套类、匿名类与局部类的使用技巧
  • Vivado ILA抓DDR信号(各种IO信号:差分、ISERDES、IOBUFDS等)