本文是针对的没有自己的域名,通过Github的渠道来上传至公共Maven仓库。有自己的域名的不在本文介绍范围。
在Github上创建一个工程
首先要在github上创建一个工程。注意,可见范围要选择为Public,需要审核人员能够访问这个地址。
然后,再完善这个Maven工程。
注意,建议使用com.github.[username]或者io.github.[username],其中[username]是你在github上的username。
至此,在Github上的工作已经完成。
在issues上创建工单
创建账号
如果在issues上没有账号,可以去申请注册issues,需要注意的是,用户名建议使用全英文,不要有中文字符。
创建工单
按需要填写工单表格即可
填写完成之后,等待管理员审批即可,等待状态变成RESOLVED。
上传jar到公共Maven库
Mac电脑安装GnuPG
我的系统是MacOS的,使用brew进行安装
1 | brew install gpg |
安装完成后,使用gpg --version查看是否安装成功
使用gpg --gen-key生成密钥对
生成过程中,需要设置一个密码管理密钥,这个密码需要记录下来,以后使用的时候,是需要这个密码的。
使用gpg --list-keys查看公钥
将公钥发布到 PGP 密钥服务器,我上传了2个服务器(keys.gnupg.net和keyserver.ubuntu.com),其中708BA29F9107359C8CD3F1C1AE09D627E10FDC2D是用户ID。
1 | gpg --keyserver keys.gnupg.net --send-keys 708BA29F9107359C8CD3F1C1AE09D627E10FDC2D |
注意,可能会失败,报如下错误,此时不用紧张,先ping keys.gnupg.net服务器,然后将服务器地址换成IP即可
验证是否上传成功
修改maven的settings.xml文件
在maven的settings.xml文件中增加如下内容。其中,[username]和[password]中填写的是你在issues中的注册账号和密码。
1 | <servers> |
修改工程中的pom.xml文件
如图,id是maven的配置文件settings.xml中的id。
1 | <distributionManagement> |
附上上传源码到仓库中的maven插件。
1 | <plugin> |
打包上传
使用命令打包上传。
1 | mvn clean package deploy -Dmaven.test.skip=true |
打包上传的过程中,签名的时候,mac下可能会报错,如下图所示:
此时,需要在~/.gnupg文件夹下新增或者修改2个文件。
gpg.conf
1 | use-agent |
gpg-agent.conf
1 | allow-loopback-pinentry |
发布
访问https://oss.sonatype.org/#stagingRepositories,拉到最下方,可以看见你的提交记录
选择上方的Close,稍等片刻他先检查一下你上传的东西是否符合规范,检查完毕后该条状态被标记为closed,
此时选中后点上面的Release即可。
然后,找到你的issues,回复审核员说你已经打包上传了,等几小时,就可以在公共maven库中找到你的jar了
















