g632104866
V2EX  ›  Java

使用 kkRepo 搭建 Maven 私服

  •  
  •   g632104866 · 9h 3m ago · 406 views

    在团队开发中,Maven 私服几乎是 Java 工程的基础设施标配。 kkRepo 是一个开源的自托管制品仓库,支持 Maven 、npm 、PyPI 、Go 、Helm 、Docker/OCI 等多种制品格式。

    kkRepo 项目地址

    一、快速启动 kkRepo

    本地体验可以直接使用官方 quickstart 脚本,它会拉起 kkRepo 和 MySQL:

    curl -fsSL https://raw.githubusercontent.com/klboke/kkrepo/main/scripts/quickstart.sh | bash 启动完成后访问:

    首次进入管理控制台时,需要创建初始 Local/admin 管理员密码。

    二、创建 Maven 仓库

    进入 /admin/ 后,建议按 Maven 常见用法创建三类仓库:

    • maven-releases hosted ,用于发布正式版本
    • maven-snapshots hosted ,用于发布 SNAPSHOT 版本
    • maven-central proxy ,用于代理 Maven Central
    • maven-public group ,用于依赖拉取入口

    创建 maven-central proxy 仓库时,上游地址可以填写 Maven Central 的官方仓库地址:

    如果公司已有内网 Maven 镜像,也可以把 proxy 的上游地址替换成内部镜像地址。

    创建 maven-public group 仓库时,把下面几个成员仓库加入 group:

    • maven-releases 、maven-snapshots 、maven-central

    这样客户端只需要从 maven-public 一个地址拉依赖:公司内部发布到私服的包会从 maven-releases 或 maven-snapshots 命中,第三方开源依赖会通过 maven-central proxy 回源并缓存。发布时仍然分别写入 maven-releases 或 maven-snapshots 。

    img

    2 replies    2026-06-25 17:10:39 +08:00
    jayeli
        1
    jayeli  
       8h 53m ago
    酷,相比 sonatype nexus3 有什么优势?
    g632104866
        2
    g632104866  
    OP
       8h 44m ago
    @jayeli 问到点上了,kkRepo 就是为了解决 sonatype nexus3 痛点问题而开发开源的,解决的问题包括但不限于:
    1 、nexus 内嵌 OrientDB 、ElasticSearch ,进程很重,容易崩溃
    2 、nexus 不支持多副本高可用部署
    3 、nexus 最新的免费版本限制了维护的包个数,也限制每天的请求量,几乎没法用 。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1144 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 36ms · UTC 17:54 · PVG 01:54 · LAX 10:54 · JFK 13:54
    ♥ Do have faith in what you're doing.