个人开源项目如何上传maven中央仓库

最近在写一些开源项目,想把自己写的东西放到maven中央仓库,提供给更多的人使用。所以写这一篇文章,记录一下自研开源项目jar包上传同步maven中央仓库成功的整个过程,这其中还是有不少的坑的。

个人开源项目如何上传maven中央仓库
  • 首先需要在sonatype JIRA管理平台完成新建项目的申请,审核通过之后才能进行上传jar的操作
  • 上传过程首先肯定是要本地进行打包,为保整项目信息完整性及上传过程安全性,需要进行特殊的操作,后文详述
  • 本地打包之后首先传入sonatype Nexus staging库,这个库只做临时存储,校验内容完整、信息完整之后才能通过平台操作转移到release库。
  • 开源项目jar转到到release库之后,实际上需要我们操作的内容就全都完成了。sonatype maven库的项目会自动同步到maven中央仓库,这个过程会有延时,但延时很短。
  • 如果你使用国内的maven中央仓库的镜像,与maven中央仓库会有比较大的延时,请耐心等待同步之后,才可以使用。

一、OSSRH账号注册于配置

sonatype是由社区支持的开源项目托管服务(Open Source Project Repository Hosting,简称OSSRH),它免费,开发者可以将自己的开源项目生成的maven jar包托管到这里。 当将maven项目打包部署到这里之后,将自动同步到maven中央仓库。 所以不管怎样,我们都需要先注册一个sonatype平台账号。

1.1.账号注册

注册地址:https://issues.sonatype.org/secure/Signup!default.jspa ,按照下图所示的内容填写自己的邮箱、全名、登陆用户名username、登陆密码passwprd,填写验证码即可完成注册。友情提示:注册过程中的密码的强度要求非常高,填写完成之后最好找个记事本把密码先记下来,以面后续使用的时候忘记。另外,注册完成之后,没有任何”注册成功”相关的提示,而是直接跳转到登录界面。

个人开源项目如何上传maven中央仓库

使用我们刚刚注册的用户登陆进去,登陆进去之后会提示我们选择语言:我习惯中文,当然选中文;然后会提示我们选择一个头像;然后会提示我们要进行什么工作,”浏览当前项目即可”,这一步不重要。

个人开源项目如何上传maven中央仓库
进入JIRA管理平台之后,点击顶部导航栏的”新建”按钮,然后在弹出的模态框中填写信息,如下:
个人开源项目如何上传maven中央仓库
  • 项目和问题类型,一定要选对,按图操作
  • 概要内容填写项目名称即可,Group Id 根据项目的maven坐标按需填写,与maven项目pom配置一致。(这里需要注意:实际操作的时候,先把下文中的《1.2.域名认证》看完,再做这部操作,存在对应关系避免做错)
  • 代码上传GitHub之后的项目URL、scm版本管理url(带.git)依次如图填写。

点击新建即可,新建问题之后。实际上是发起了一个新建项目审核的审核工作流,会有人审核你所填写的信息。

1.2.域名认证

因为上文中Group ID我填写的是我自己购买的域名,所以我需要证明这个域名是我的。证明的方式也很简单,就是在我的域名购买的平台,给域名增加一条txt的域名解析记录,域名解析记录的值会在JIRA平台的流程审核结果记录中给出,如下图中的红色框起来的内容(本次新建项目申请的流水编号:OSSRH-83481)。

如果没有域名怎么办?没有域名你可以给Group Id填写github的用户域,如: com.github.<gihub用户名></gihub用户名>。填写github用户域,验证方式也不一样,需要你在github中新建一个空的仓库,仓库的名称是 OSSRH-83481

个人开源项目如何上传maven中央仓库
因为我的域名是在阿里云买的,所以我去阿里云为该域名添加一个TXT类型的解析记录值。
个人开源项目如何上传maven中央仓库
如果你不太确定TXT解析记录值是否生效,可以通过windows CMD命令行,响应如下的信息证明设置正确
> nslookup -type=TXT &#x4F60;&#x7684;&#x57DF;&#x540D;
&#x670D;&#x52A1;&#x5668;:  dns.google
Address:  8.8.8.8

&#x975E;&#x6743;&#x5A01;&#x5E94;&#x7B54;:
&#x4F60;&#x7684;&#x57DF;&#x540D;       text =

        "OSSRH-83481"

域名解析记录值添加完成之后,回到sonatype JIRA管理平台。在 OSSRH-83481问题里面如下图所示的位置,有一个Respose按钮,点击该按钮证明你已经完成了域名认证操作。(因为我是操作完成之后,写的这篇文章,所以这个按钮已经没了,我模拟了一个)

个人开源项目如何上传maven中央仓库

在整个的新建问题,项目流程审核过程中,你的注册邮箱会不断的收到sonatype JIRA管理平台发出的邮件,提示你审核流程进行到了什么阶段。(这个审核过程非常迅速,应该是机器人参与的审核,不是人为操作的,我用了5分钟就完成了整个审核流程). 审核通过之后,你会看到如下的状态:已解决。

个人开源项目如何上传maven中央仓库

二、安装GnuPG软件,并生成签名

新建项目审核通过之后,我们需要在开发PC上安装GnuPG,因为我们上传到sonatype maven库的所有文件都要经过GnuPG进行签名,不经过签名的文件无法上传成功。下载地址:https://gpg4win.org/thanks-for-download.html 。下载完成之后,傻瓜式的”下一步””下一步”安装即可。
下载完成之后,我们打开windows的 CMD命令行,执行如下命令。(注意:我的操作都是在CMD命令行下面执行的,不要power shell ,不要git bash。我都试过,不是不行,是操作过程不一致。如果和我的操作过程不一致,可能导致你操作失败!)

gpg --gen-key

下图中红色的部分是我填写的内容,我的名字、邮箱,以及一个O表示ok。会提示我们输入一个Passphrase,填写2遍。这个Passphrase就是一个密码,一定要记住,下文会用到。

个人开源项目如何上传maven中央仓库

GnuPG签名的公钥私钥对生成完成之后,可以使用如下命令查看结果

`
C:\Users\hanxt>gpg –list-key
gpg: checking the trustdb
gpg: marginals needed: 3 completes needed: 1 trust model: pgp
gpg: depth: 0 valid: 1 signed: 0 trust: 0-, 0q, 0n, 0m, 0f, 1u
gpg: next trustdb check due at 2024-08-09
C:\Users\hanxt\AppData\Roaming\gnupg\pubring.kbx

Original: https://www.cnblogs.com/zimug/p/16575819.html
Author: 字母哥博客
Title: 个人开源项目如何上传maven中央仓库

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/616796/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球