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


相关推荐
一定要AK12 分钟前
Spring 入门核心笔记
java·笔记·spring
A__tao12 分钟前
Elasticsearch Mapping 一键生成 Java 实体类(支持嵌套 + 自动过滤注释)
java·python·elasticsearch
KevinCyao26 分钟前
java视频短信接口怎么调用?SpringBoot集成视频短信及回调处理Demo
java·spring boot·音视频
迷藏49432 分钟前
**发散创新:基于Rust实现的开源合规权限管理框架设计与实践**在现代软件架构中,**权限控制(RBAC)** 已成为保障
java·开发语言·python·rust·开源
不吃香菜学java2 小时前
Redis简单应用
数据库·spring boot·tomcat·maven
wuxinyan1232 小时前
Java面试题47:一文深入了解Nginx
java·nginx·面试题
新知图书2 小时前
搭建Spring Boot开发环境
java·spring boot·后端
冰河团队2 小时前
一个拉胯的分库分表方案有多绝望?整个部门都在救火!
java·高并发·分布式数据库·分库分表·高性能
洛_尘2 小时前
Java EE进阶:Linux的基本使用
java·java-ee
宸津-代码粉碎机2 小时前
Spring Boot 4.0虚拟线程实战调优技巧,最大化发挥并发优势
java·人工智能·spring boot·后端·python