【安装配置】【搭建本地Maven私服】

搭建自己的 Maven 私服(私有仓库)主要有几种方式,最常用的是使用 Nexus Repository ManagerApache Archiva 。下面我给你整理一个详细步骤指南,以 Nexus OSS 为例,因为它是目前最流行、社区支持最好的方案。


一、准备工作

  1. 服务器环境

    • 可以是本地机器,也可以是云服务器。

    • 推荐内存 2GB 以上,磁盘空间根据存储需求而定。

    • 安装 Java 11+(Nexus 3 需要 Java 11)。

  2. 下载 Nexus

  3. 解压安装

    复制代码
    tar -zxvf nexus-3.x.x-xx-unix.tar.gz
    mv nexus-3.x.x-xx /opt/nexus
    cd /opt/nexus

二、配置 Nexus

  1. 创建运行用户

    复制代码
    useradd nexus
    chown -R nexus:nexus /opt/nexus /opt/sonatype-work
  2. 修改启动用户

    编辑 /opt/nexus/bin/nexus.rc

    复制代码
    run_as_user="nexus"
  3. 启动 Nexus

    复制代码
    cd /opt/nexus/bin
    ./nexus start
    ./nexus status   # 查看状态

三、创建 Maven 仓库

  1. 登录 Nexus Web UI

    • 默认管理员:admin / admin.password
  2. 创建仓库

    • 进入 "Settings" → "Repositories" → "Create repository"

    • 选择 maven2 (hosted) → 选择 ReleaseSnapshot

    • 设置 Name ,如 maven-releasesmaven-snapshots

    • 保存

  3. 创建组仓库(可选)

    • 可以将多个 hosted 仓库合并到组仓库,统一访问。

    • 创建 maven2 (group),添加你之前创建的仓库。


四、配置 Maven 使用私服

编辑本地 Maven 的 settings.xml(通常在 ~/.m2/settings.xml):

复制代码
<settings>
  <mirrors>
    <mirror>
      <id>nexus</id>
      <mirrorOf>*</mirrorOf>
      <url>http://your-server:8081/repository/maven-public/</url>
    </mirror>
  </mirrors>

  <servers>
    <server>
      <id>nexus</id>
      <username>admin</username>
      <password>admin123</password>
    </server>
  </servers>
</settings>
  • mirrorOf 可以设置 * 表示替代所有仓库。

  • url 使用你的 Nexus 仓库地址。

  • servers 配置认证信息,用于上传 artifact。


五、上传 Maven Artifact

  1. 使用 Maven deploy 插件

    复制代码
    <distributionManagement>
      <repository>
        <id>nexus</id>
        <url>http://your-server:8081/repository/maven-releases/</url>
      </repository>
      <snapshotRepository>
        <id>nexus</id>
        <url>http://your-server:8081/repository/maven-snapshots/</url>
      </snapshotRepository>
    </distributionManagement>
  2. 执行上传

    复制代码
    mvn clean deploy
    • Artifact 会上传到私服的指定仓库。

六、优化与安全

  1. 绑定域名和 HTTPS

    • 配置反向代理 Nginx 或 Apache。

    • 使用 Let's Encrypt 免费 SSL。

  2. 权限管理

    • 创建不同用户和角色,限制不同项目访问权限。
  3. 定期备份

    • Nexus 可以直接备份仓库数据目录。

💡 小提示

  • 对于企业内部项目,建议至少创建一个 release 仓库和一个 snapshot 仓库。

  • 也可以搭建 Artifactory OSS,功能类似,但 Nexus 社区版已经足够大多数需求。


相关推荐
智慧物业老杨7 小时前
物业日常巡查的数智化重构:从“打卡式巡检“到“闭环式风控“
android·java·人工智能·系统架构·rxjava
步行cgn13 小时前
Spring c 命名空间注入详解
java·后端·spring
明月_清风14 小时前
Maven 到底是什么?一篇文章搞懂 Java 项目构建与依赖管理
java·后端·maven
aramae14 小时前
MySQL复合查询(8)
java·c语言·开发语言·后端·算法
Rain的Java大神之路15 小时前
如何快速上传10G文件
java·spring boot·redis·后端·mysql·spring cloud·面试
Wang's Blog15 小时前
Java 接入Redis: 通用命令与键管理
java·服务器·redis
Wang's Blog15 小时前
Java 接入Redis: 列表集合与有序集合操作命令
java·服务器·redis
Ivanqhz16 小时前
SVD++算法
java·服务器·网络·深度学习·神经网络
qq_25183645716 小时前
springboot vue3 开发实现 拼豆管理系统
java·开发语言·ai编程
caoerzhong17 小时前
JeeWMS 开源仓库管理系统全景解读:一套 Java WMS 如何把 WMS/OMS/BMS/TMS 装进同一个系统
java·开源