核心功能与用法
本技能提供完整的 Maven Central 现代化发布工作流,基于 Sonatype 2024 年启用的 Central Portal 体系,替代传统的 OSSRH 流程。核心流程包括:
1. 前置准备:注册 Central Portal 账户 → 验证 groupId 命名空间 → 生成 User Token
2. 环境配置:安装 Maven、GnuPG、OpenJDK 17+;配置 Loopback Pinentry 实现无头环境自动签名
3. 凭证管理:在 ~/.m2/settings.xml 中配置 central 服务器凭证与 GPG 密钥密码
4. 项目合规化:pom.xml 需包含完整元数据(name, description, url, licenses, developers, scm),并集成四大必需插件:
maven-source-plugin(源码附件)maven-javadoc-plugin(文档附件,建议关闭严格 HTML 校验)maven-gpg-plugin(GPG 签名,启用 loopback 模式)central-publishing-maven-plugin(新版发布核心,支持autoPublish开关)
5. 执行发布:mvn clean deploy -P release,成功后可在 Portal 后台审核或直接自动发布
显著优点
- 官方现代工作流:直接对接 Sonatype Central Portal,跳过旧版 OSSRH 的繁琐 staging 流程
- 自动化友好:Loopback Pinentry 配置使 CI/CD 场景无需人工干预输入 GPG 密码
- 合规性保障:明确列出 Maven Central 质量要求 的检查清单,降低审核驳回风险
- 故障速查表:覆盖 401 认证失败、GPG 签名错误、Javadoc 严格校验、坐标不匹配等高频问题
局限性与风险
- 命名空间门槛:必须拥有经 DNS 验证或 GitHub 账户关联的
groupId,个人开发者首次 setup 周期较长 - GPG 密钥管理:私钥与密码需妥善保管,泄露可能导致构件被恶意签名发布
- 不可逆发布:一旦点击 Publish,构件永久进入 Maven Central 仓库,无法删除或修改
- 版本锁定:Central Portal 对插件版本有兼容性要求,需持续关注
central-publishing-maven-plugin更新
适合人群
Java/Kotlin 开源库维护者、企业级 SDK 发布团队、追求构件供应链合规性的 DevOps 工程师。
常规风险提示
请在 autoPublish=false 模式下首次验证发布流程,确认构件内容无误后再启用自动发布;建议结合 CI 密钥管理(如 GitHub Secrets)而非硬编码密码到 settings.xml。