Sonatype Nexus Repository:Java 生态的包管理枢纽

做 Java 开发的应该都接触过 Nexus,Maven 仓库管理器里的老面孔。最近 Sonatype 把 Nexus Repository 的核心代码开源了,GitHub 上目前 2,546 个 Star。

正文顶部截图

它解决什么问题

团队做 Java 项目,依赖管理是绕不开的事。公共仓库虽然能用,但下载速度看运气、内部组件没处放、第三方包缺少统一管控。Nexus 就是在内网搭一个私有仓库,把这些事统一管起来。

这次开源的 Core 版本支持三种格式:Maven、Raw 和 APT。数据库用嵌入式 H2,开箱即用,不用额外装数据库。适合小团队或个人开发者快速跑起来。

Core 和 Community Edition 的区别

Core 是开源版,功能偏精简。Community Edition 是 Sonatype 提供的免费二进制版本,在此基础上加了不少东西:

  • 更多格式:npm、Docker、NuGet、PyPI
  • 支持外部 PostgreSQL 数据库
  • 可以跑在 Kubernetes 上

简单说,Core 适合轻量场景,团队规模大或者需要管多种包格式的话,Community Edition 更合适。

README区域截图

构建和运行

项目用 Java 21,依赖 Apache Maven。源码自带 Maven Wrapper,不用单独装。前端模块用 Yarn Workspaces 管理,构建前先初始化一下就行。

构建完进入 assembly 目录,java -jar 直接启动。启动后自动生成工作目录,里面有默认管理员账号和文件存储。

开源这件事

Nexus 在 Java 生态的占有率一直不低,不少公司的 CI/CD 流水线都靠它撑着。这次开源 Core 版本,代码可以完整审查,也能按需做二次开发。

对于之前用破解版 Nexus 的团队,这是个合规的替代方案。Core 版本功能有限,但 Maven 私有仓库这个核心需求完全覆盖。

协议是 Eclipse Public License v1.0,商用的话看一下合规要求就行。

se Public License v1.0,商用的话看一下合规要求就行。

更多推荐