【安装配置】【搭建本地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 社区版已经足够大多数需求。


相关推荐
高山上有一只小老虎12 小时前
构造A+B
java·算法
学困昇12 小时前
C++中的异常
android·java·c++
MC丶科12 小时前
Java设计模式漫画英雄宇宙-工厂模式 —Factory博士的“超级英雄制造机”!
java·设计模式·漫画
虎子_layor12 小时前
告别Redis瓶颈:Caffeine本地缓存优化实战指南
java·后端
q***985212 小时前
什么是Spring Boot 应用开发?
java·spring boot·后端
带刺的坐椅12 小时前
Solon AI 开发学习4 - chat - 模型实例的构建和简单调用
java·ai·chatgpt·solon
hadage23312 小时前
--- JavaScript 的一些常用语法总结 ---
java·前端·javascript
懂得节能嘛.12 小时前
【Java动态线程池】Redis监控+动态调参
java·开发语言·redis
豆奶特浓612 小时前
Java面试模拟:当搞笑程序员谢飞机遇到电商秒杀与AIGC客服场景
java·spring boot·微服务·面试·aigc·高并发·电商
明洞日记13 小时前
【设计模式手册013】命令模式 - 请求封装的优雅之道
java·设计模式·命令模式