如何把jar包发布到中央仓库

1、在网站https://issues.sonatype.org/secure/Dashboard.jspa注册一个账号(请记住对应的账号和密码,之后需要用到)

此外,Sonatype 还提供了一个名为OSS 的系统,具体的构件发布是在这个oss系统上,

Sonatype OSS 地址:https://oss.sonatype.org

这里的用户名和密码就是上面在JIRA中注册的,在这里可以查询到全世界已发布的构件,当然我们发布构件的操作也在这里进行。

2、登录后选择后选择Create

Project:项目默认值

IssueType:默认值

Summary:说明,请介绍一下项目

GroupId:项目的分组名称

ProjectURL:访问项目的URL,写仓库地址

SCMurl:访问项目的URL,写仓库地址

其他的选填

填写完毕后点击Create,然后等待状态变成RESOLVED,如下图

Comments的回复如下:

3、使用GPG 生成密钥对

Windows系统直接去https://www.gpg4win.org/download.html下载Gpg4win,安装好后通过gpg --version,出现版本等信息就安装成功了。如果是Linux,可以通过yum install gpg安装)

生成密钥对,在cmd窗口中输入命令:

gpg --gen-key

提示输入:

Real name

Email address

根据提示输入大写O确认无误

然后弹出一个输入密码的对话框,请务必记住该密码

输入密码确认

查看公钥

gpg --list-keys

将公钥发布到 PGP 密钥服务器(gpg --list-keys可以看到公钥id)

gpg--keyserver hkp://pool.sks-keyservers.net --send-keys 5292CC898762C9D1237A561608DE5FBA6F7142E6

gpg--keyserver hkp://keyserver.ubuntu.com:11371 --send-keys5292CC898762C9D1237A561608DE5FBA6F7142E6

查询公钥是否发布成功

gpg --keyserverhkp://pool.sks-keyservers.net --recv-keys5292CC898762C9D1237A561608DE5FBA6F7142E6

4、修改Maven配置文件,需要同时修改全局的setting.xml和项目的pom.xml文件

setting.xml修改:

找到maven的全局配置文件settings.xml,在里面找到 节点,这个节点默认是注释掉的,增加如下配置:

<servers>

<server>

                          <id>   sonatype</id>

                <username>用户名</username>

                 <password>密码</password>

</server>

</servers>

这里的id是要在pom.xml里面使用的,用户名和密码就是在Sonatype上面注册的用户名和密码。

pom.xml修改:

pom.xml中必须包括:name、description、url、licenses、developers、scm等基本信息,使用了 Maven 的 profile 功能,只有在 release 的时候,创建源码包、文档包、使用 GPG 进行数字签名。此外,snapshotRepository 与 repository 中的 id 一定要与 setting.xml 中 server 的 id 保持一致。如果是多模块项目的话,只需要在父pom.xml中声明这些,子pom.xml中只需要修改相应的一些信息,如name标签。


5、上传构件到 OSS 中

自己配置profiles时使用:

mvn clean deploy -Prelease

使用官网parent时使用:

mvn clean deploy -P sonatype-oss-release-Darguments="gpg.passphrase=密钥密码"

当执行以上 Maven 命令时,会自动弹出一个对话框,需要输入上面提到的 Passphase,它就是刚才设置的 GPG 密钥库的密码。随后会看到大量的 upload 信息,因为在国内网络的缘故,时间有点久,耐心等待吧。

注意:此时上传的构件并未正式发布到中央仓库中,只是部署到 OSS 中了,下面才是真正的发布。

6、在OSS 系统中发布构件

在 https://oss.sonatype.org系统中,使用自己的 Sonatype 账号登录后,可在 Staging Repositories 中查看刚才已上传的构件,这些构件目前是放在Staging 仓库中,可进行模糊查询,快速定位到自己的构件。此时,该构件的状态为 Open,需要勾选它,然后点击 Close 按钮。系统会自动验证该构件是否满足指定要求,当验证完毕后,状态会变为Closed。

发现release版本才会出现在Staging Repositories里,snapshot版本不会出现在这里

最后,点击 Release 按钮来发布该构件

在Staging Profiles可以看到正在release

7、通知 Sonatype 构件已成功发布

这个前面的Sonatype工作人员其实在审核你的Issue时,在comment中已经提示你了,在Issue下面回复一条“构件已成功发布”的评论,这是为了通知 Sonatype 的工作人员为需要发布的构件做审批,发布后会关闭该Issue。


等待构件审批通过

这个又只能等待了,当然他们晚上上班,还是第二天看。当审批通过后,将会收到邮件通知。


从中央仓库中搜索构件

这时,就可以在maven的中央仓库中搜索到自己发布的构件了,以后可以直接在pom.xml中使用了!

中央仓库搜索网站:http://search.maven.org/

第一次成功发布之后,以后就不用这么麻烦了,可以直接使用Group Id发布任何的构件,当然前提是Group Id没有变。


以后的发布流程:

a)构件完成后直接使用maven在命令行上传构建;

b)在https://oss.sonatype.org/close并release构件;

c)等待同步好(大约2小时多)之后,就可以使用了

跟多技术分享尽情关注

http://blog.csdn.net/hj7jay/article/details/51130398

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,590评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 86,808评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,151评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,779评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,773评论 5 367
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,656评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,022评论 3 398
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,678评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 41,038评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,659评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,756评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,411评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,005评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,973评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,203评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,053评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,495评论 2 343

推荐阅读更多精彩内容

  • 1. 在 https://issues.sonatype.org/secure/Signup!default.js...
    Superwind20阅读 947评论 0 0
  • 太长不读篇 在 issues tracker 上注册 创建 issues 配置 build.gradle gpg ...
    lambeta阅读 4,675评论 0 1
  • |-1-更新内容[6.从仓库解析依赖的机制(重要)] 1Maven仓库作用 仓库用来存储所有项目使用到构件,在ma...
    zlcook阅读 6,018评论 0 25
  • 水杉树褐色的枯枝上 缀满了黄绿色的芽叶 细细舒展着 带着难掩的窃喜 油菜花一同明晃晃的开着 骄纵的仰着头 痛快的吹...
    言莘阅读 159评论 0 0
  • 春之纤纤手,细细映波光。 道是圣中景,绵延水天堂。
    真如自在阅读 170评论 1 3