
发布项目到maven中央仓库
在标题处详细描述您的发布需求。 在“Group Id”(组件ID)字段中,根据您的托管平台选择合适的组件ID。例如: 确保组件ID与您的Maven项目中 declaredGroup ID一致,否则可能导致发布失败。
安装GPG工具(可通过百度搜索安装教程)。 生成密钥对: 查看公钥: 发布公钥:
登录Sonatype OBR(https://oss.sonatype.org)。 2.进入“ staging Repositories”页面,找到您的仓库。 修改状态为“close”,并完成发布审核流程。
发布日期:2021-05-10 18:12:41
浏览次数:11
分类:精选文章
本文共 2523 字,大约阅读时间需要 8 分钟。
Maven中央仓库发布项目详细指南
发布Maven项目到中央仓库虽是一个常见操作,但具体步骤仍需要熟悉。以下将从注册JIRA、创建发布申请、等待审核、密钥配对、配置Maven设置到最终发布等环节,为您详细指导完成发布过程。
1.注册Sonatype JIRA帐户
首先,访问Sonatype的JIRA平台:https://issues.sonatype.org/secure/Signup!default.jspa
这里的注册信息均为必填字段,建议使用常用的邮箱地址,以便工作人员与您沟通。
2.创建发布申请
进入创建新Issue页面:https://issues.sonatype.org/secure/CreateIssue.jspa?issuetype=21&pid=10134
- 如果托管在GitHub或Git@OSC,可使用“com.github.XXX”或“net.oschina.XXX”。
- 如果已注册自己的域名,可使用“com.yourdomain”。
3.等待审核通过
提交发布申请后,内容将进入审批流程。Sonatype审核人员会根据以下情况进行审核:
- 审核通过:您将收到通知邮件,并在JIRA Issue下找到详细说明。
-
- 审核不通过:审核人员会说明不通过的原因并要求修改后重新申请。
4.生成GPG密钥对
为了确保构件的完整性和真实性,需生成GPG密钥对。此步骤通常让初次接触的用户满意:
gpg --gen-key
按行提示输入用户名和邮箱信息,最后设置Passphrase并重复两次,这是后续发布时使用的密钥输入。
gpg --list-keys
记录生成的公钥ID,用于后续发布。
gpg --keyserver hkp://pool.sks-keyservers.net --send-keys C990D076
替换为您的公钥ID(以C990D076为例)。
5.配置Maven设置
修改Maven的设置(flexible配置方式):
org.apache.maven.plugins maven-source-plugin 3.0.1 package jar-no-fork org.apache.maven.plugins maven-javadoc-plugin 2.10.4 package jar org.apache.maven.plugins maven-gpg-plugin 1.6 sign-artifacts verify sign
6.准备发布 Artifacts
在发布前,确保以下内容已准备完毕:
- 项目released(请联系Sonatype审核通过后再进行操作)。
- poms文件清晰,包含必要的字段(如name、description、url等)。
- 必要的jar包(如字节码、源码、文档等)已通过插件预先制作好。
7.执行发布命令
在项目根目录执行以下命令:
mvn clean deploy -P release -Dgpg.passphrase=你的Passphase
这里的你的Passphrase
是前一步骤中设置的GPG Passphrase。
8.在JIRA中完成发布
- 如果遇到group ID不符等问题,可重新发布并修改相关配置。
9.通知审核人员
在JIRA Issue下添加评论,例如“Component has been successfully released.”,告知审核人员发布已完成。
10.后续更新
- 已有审核通过的项目,可直接在项目根目录执行:
mvn clean deploy -P release -Dgpg.passphrase=你的Passphrase
- 新的版本发布无需通知审核人员,一般会自动同步到中央仓库。
注意事项
- 发布后,中央仓库的同步可能存在延迟(约几天到一周)。使用此地址搜索: https://oss.sonatype.org/content/groups/public/
- group ID和版本信息一致性是关键,任何不一致将导致发布失败。
如仍有疑问或遇到问题,欢迎在评论区留言讨论,或联系相关工作人员寻求帮助。
发表评论
最新留言
关注你微信了!
[***.104.42.241]2025年04月02日 16时38分34秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
spring-boot-2.0.3之redis缓存实现,不是你想的那样哦!
2019-03-06
httprunner学习23-加解密
2019-03-06
jenkins学习6-进docker容器修改jenkins时间
2019-03-06
jenkins学习13-凭据管理(删除多余的凭据)
2019-03-06
有道云笔记 同步到我的博客园
2019-03-06
阿里云“网红"运维工程师白金:做一个平凡的圆梦人
2019-03-06
AnalyticDB for PostgreSQL 6.0 新特性介绍
2019-03-06
Alibaba Cloud Linux 2 LTS 正式发布,提供更高性能和更多保障!
2019-03-06
李笑来必读书籍整理
2019-03-06
vue书籍整理
2019-03-06
记Java中有关内存的简单认识
2019-03-06
Mybatis配置解析
2019-03-06
http头部 Expect
2019-03-06
Hadoop(十六)之使用Combiner优化MapReduce
2019-03-06
C#实现outlook自动签名
2019-03-06
MySQL 5.5 My.cnf 模版
2019-03-06
使用mysqladmin ext了解MySQL运行状态【转】
2019-03-06
《机器学习Python实现_10_06_集成学习_boosting_gbdt分类实现》
2019-03-06
精讲响应式WebClient第2篇-GET请求阻塞与非阻塞调用方法详解
2019-03-06