根据多年的项目开发经验,总会出现各种需要自己封装库文件的需求,虽然市面上已有大量的开源方案,但总会有时无法完全满足其需求,所以为了方便自己封装的库文件能够在社区团队协作中方便进行使用,所以需要把自己的库文件推送到 Maven 的中央仓库中去。
注意:如果只是公司的内部需求请采用搭建私有仓库的方式进行处理,本篇不展开私有仓库搭建的话题;这里主要是针对广大社区的使用或个人之后的使用的工作方便。
https://issues.sonatype.org/secure/Signup!default.jspa
https://issues.sonatype.org/secure/CreateIssue.jspa?issuetype=21&pid=10134
由于我在 Mac 上操作的,所以我直接利用 Homebrew 进行安装。
brew install gpg
开始生成
gpg --gen-key
gpg --keyserver hkp://pgp.mit.edu --send-keys C4680761F0FA1B160A3172438AB8CAF822578AA1
~/.m2/settings.xml
<servers>
<server>
<id>oss</id>
<username>用户名</username>
<password>密码</password>
</server>
</servers>
为了能够更好的通过 Sonatype 的流程审核,请完善项目 pom.xml 文件中的必要信息;我建议这里请参考我的这个项目进行完善:点我打开。
由于在 Mac 命令行中秘钥的 passphrase 弹出框无法有效执行,需要加入下面命令。
export GPG_TTY=$(tty)
开始部署上传
mvn clean deploy -P release
打开 OSS 控制台 https://oss.sonatype.org/ 。
用上面操作注册的账号登录进去;
打开左边菜单 Staging Repositories;
面板打开后右上查询框查询你的 groupId;
状态目前是 open,然后点击上面的 Close 按钮,不出问题再点击 Release。
(九) 留言评论之前创建的 Issue
当工作人员回复之后,等待 2 个小时就可以在中央仓库看到你的 groupId 或 artifact 了。
参考资料
题外话
密钥管理
上述所生成的密钥为了方便之后电脑重装或更换电脑不慎丢失等问题,请采用下列方式对密钥进行相应的处理,然后再把密钥文件进行妥善管理,切记,切记,切记!
查看密钥
gpg --list-keys
导出公钥
gpg --armor --output public-key.pem --export caryyu
导出私钥
gpg --armor --output private-key.pem --export-secret-keys caryyu
导入密钥
gpg --import public-key.pem