上传利用GitHub管理的软件到Maven Central Repository之三

完成前两篇的准备工作以后,我们就要开始正式的发布工作了。如果没有完成前面的准备,请参阅:

上传利用GitHub管理的软件到Maven Central Repository之一

上传利用GitHub管理的软件到Maven Central Repository之二

下面开始进入正题:

首先,为了后续的操作顺利执行,我们要确保项目的整个目录没有本地未提交的修改,最好先pull一遍确保后续的步骤里没有冲突。然后运行:

mvn release:prepare

这条命令会做以下几件事:

  • 检查本地是否有未提交的代码
  • 检查是否有可用的SNAPSHOT版本
  • 修改pom.xml文件的版本信息到下个目标版本(在运行过程中会提示用户输入下个目标版本,例如当前是1.0-SNAPSHOT,就可以输入1.1或者2.0,Maven会自动加上SNAPSHOT后缀变成1.1-SNAPSHOT并自动提交)
  • 自动将当前的项目打包,提交到GitHub(期间会要求用户输入tag的信息)

如果命令顺利运行结束,那么这个步骤就算完成了。如果中间出现了什么问题,可以在修复问题后再次运行这条命令,如果想要获得更详细的信息,可以运行:

mvn release:prepare -X

如果不希望从终止的地方开始,而是想从头再来的话可以输入:

mvn release:prepare -Dresume=false

完成了release的准备工作以后就可以正式release了,输入:

mvn release:peform -Darguements=-Dgpg.passphrase=<之前生成的KEY的密码>

如果这步也成功了,恭喜你,你的项目已经进入了Sonatype Nexus的staging仓库。接下来就要登录:

https://oss.sonatype.org/

登录以后选择左侧的"Staging Repository",然后在仓库列表中找到自己的仓库,仓库名字一般包含项目的groupId。选中仓库以后按上方的"Close"按钮,等到状态变成"closed",并且下方的Summary显示“Last operation completed successfully”之后,就可以按"Close"按钮旁边的"Release"按钮。

接下来,要在Jira的ticket上加个comment告诉客服你的项目已经发布了。只有第一次发布才需要这么做,客服会手动把你的项目同步的Central Repository里,以后这个过程是全自动的,大概每两个小时就同步一次。最后只要等待客服告诉你同步已经开始并把ticket关闭。

几个小时后就能够在http://search.maven.org/找到你的项目了!

猜你喜欢

转载自drug.iteye.com/blog/1980669