最近闲着无聊,突然想到将自己做的jar包上传Maven中央仓库以供使用,就是闲着蛋疼,说干就干,查阅了无数资料,遇到不少坑,现将方法记录下来以免以后忘记了,也就此机会重新学习下。
大致步骤:
1.创建工单 https://issues.sonatype.org/secure/Dashboard.jspa
2.GPG生成密钥 https://www.gpg4win.org/
3.配置pom.xml和settings文件
4.部署jar包
一、创建工单
第一步:注册JIRA账号(https://issues.sonatype.org/secure/Dashboard.jspa)
注册不多说了,填完信息下一步就是了!
第二步:创建Issue项目
点击页面上的create,新建一个Issue
有*标记是必填的,其它可以不填,以下是填写说明
summary:项目说明,能说明你的项目就行了
groupId:项目唯一标识,个人网站或公司网站域名倒写,例如com.github.xinxiaomu
project URL:写项目路径,或个人主页都可以
SCM URL:和项目路径一样就可以了
第三步:等待Issue通过
网上教程说,审核要1~2天,我提交审核的时候基本秒过的(可能它们遇到周末了吧,个人猜测哈哈),还有如果你groupId是个人或
公司的,会问你是否是你自己的域名,你回复是就可以了,如果是用git这种开源的域名则不用,我使用的是git的网址,几分钟就通
过了,通过后会收到信息:
二、GPG生成密钥
第一步:下载安装:https://www.gpg4win.org/
第二步:生成密钥
命令:gpg --full-generate-key 或gpg --gen-key
第三步:发布公钥到GPS key-servers
命令:gpg --keyserver hkp://keyserver.ubuntu.com:11371 --send-keys 965310440A0AF2FD
三、 配置pom.xml和settings文件
第一步:安装maven
第二步:配置pom.xml
4.0.0
com.github.xinxiaomu
swagger-ui-xin
1.0.0
jar
${project.groupId}:${project.artifactId}
org.sonatype.oss
oss-parent
7
The Apache Software License, Version 2.0
http://www.apache.org/licenses/LICENSE-2.0.txt
repo
https://github.com/xinxiaomu/swagger-ui
scm:git:https://github.com/xinxiaomu/swagger-ui.git
scm:git:[email protected]:xinxiaomu/swagger-ui.git
hanxin
[email protected]
https://github.com/xinxiaomu
UTF-8
org.apache.maven.plugins
maven-source-plugin
2.2.1
attach-sources
jar-no-fork
maven-compiler-plugin
2.3.2
1.8
org.apache.maven.plugins
maven-gpg-plugin
1.5
sign-artifacts
verify
sign
ossrh
https://oss.sonatype.org/content/repositories/snapshots
ossrh
https://oss.sonatype.org/service/local/staging/deploy/maven2/
第三步:配置settings.xml
文件在maven目录conf文件夹中,账号和密码是上面注册JIRA的账号和密码
ossrh
账号
密码
ossrh
账号
密码
四、部署jar包
进入需要上传的项目目录,pom.xml所在目录,执行命令:
mvn clean deploy或mvn clean deploy –P release –Dgpg.passphrse=xxxxx
完成后,登陆https://oss.sonatype.org账号和密码也是注册的JIRA账号和密码
选择Staging Repositories ,并找到自己上传的文件。
找到后选中点击左上方的'close',并等待...等到通过后(状态从open变为close,此时release按钮变亮),点击release按钮,
等待10分钟左右就可以用了。
如果是第一次上传,那么需要在Issue中回复才可以:
PS:不要忘记安装JDK环境。
参考资料:
一步一步教你发布构件到Maven中央仓库:https://blog.csdn.net/xiajiqiu/article/details/77607492
OSSRH Guide: http://central.sonatype.org/pages/ossrh-guide.html
发布要求、规范:http://central.sonatype.org/pages/requirements.html
PGP签名使用:http://central.sonatype.org/pages/working-with-pgp-signatures.html
视频教程:http://central.sonatype.org/articles/2016/Feb/02/free-video-series-easy-publishing-to-the-central-repository/
发布项目文档首页:http://central.sonatype.org/pages/producers.html