上传jar包到Maven中央仓库

好记性不如烂笔头啊,把做完的一件事记下来是个不错的习惯。这个流程说实话我走过很多次了,但是每次同事问我怎么搞的时候,我发现我还是需要去看文档+谷歌,而且竟然每次都能发现不一样的方法,当然这些方法的本质是一样的。

以前还折腾了Gradle上传到中央仓库,以及上传到三方仓库然后代我转移到中央仓库等等等。当初还是懵懵懂懂的就直接用Gradle去上传,不是不行,按照我的经验来说还是建议先通过Maven熟悉整个过程懂得原理后再用Gradle也不迟。

经历这些折腾,我总结出以下目前我认为最方便的经验。

  1. 注册帐号并创建工单(已创建过工单可略过)
    网址:issues.sonatype.org/secure/Dashboard.jspa
    新建账号,登录后选择Create Issue,选择Community Support - Open Source Project Repository Hosting (OSSRH)以及New Project。
    提交完毕后等待工作人员审核,工作人员会审核你提交的issue,主要审核内容为你是否具备这个groupId的所有权。所以个人的开源项目,我推荐groupID为你个人的github地址,如:com.github.username。
  2. 生成密钥并上传
    Windows的gpg可以在git的安装目录中找到。
# 具体信息按照自己的需求填写,密钥的密码会在上传的时候用到
gpg --gen-key
...
...
...

生成密钥完毕后上传密钥

# 列出密钥
gpg --list-keys
/c/Users/hanzi/.gnupg/pubring.kbx
---------------------------------
pub   rsa2048 2018-11-30 [SC]
      C4437BA4AE78DC911111117303966D5033970CC
uid           [ultimate] ziyuan <example@outlook.com>
sub   rsa2048 2018-11-30 [E]
# 如我的密钥为C4437BA4AE78DC911111117303966D5033970CC,上传该密钥
gpg --keyserver hkp://keyserver.ubuntu.com:11371 --send-keys C4437BA4AE78DC911111117303966D5033970CC
  1. 配置项目的pom.xml
    增加以下配置:
<!-->这里继承它的原因是它包含了一些必备的配置,如中央仓库地址、maven-javadoc-plugin插件、maven-gpg-plugin插件等<-->
<!-->注意,如果是多模块项目,就需要自己配置而不能直接继承了。可通过mvn clean deploy -pl ***来指定发布特定的子模块<-->
<parent>
    <groupId>org.sonatype.oss</groupId>
    <artifactId>oss-parent</artifactId>
    <version>7</version>
</parent>

<!-->项目的协议<-->
<licenses>
   <license>
      <name>The Apache Software License, Version 2.0</name>
      <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
      <distribution>actable</distribution>
   </license>
</licenses>

<!-->开发者的信息<-->
<developers>
    <developer>
        <name>example</name>
        <email>example@outlook.com</email>
    </developer>
</developers>

<!-->项目的版本管理地址<-->
<scm>
    <url>https://github.com/Bpazy/Id</url>
</scm>
  1. 配置Maven(~/.m2/setting.xml)
    增加以下配置:
<!-->这里配置的是sonatype的信息,上一步中继承的oss-parent会用到这些信息<-->
<servers>
  <server>
    <id>sonatype-nexus-snapshots</id>
    <username>上面第一步时注册的帐号</username>
    <password>上面第一步时注册的密码</password>
  </server>
  <server>
    <id>sonatype-nexus-staging</id>
    <username>上面第一步时注册的帐号</username>
    <password>上面第一步时注册的密码</password>
  </server>
</servers>
  1. 上传
    这一步会要求你输入生成密钥指定的密码
mvn clean deploy -P sonatype-oss-release
  1. oss.sonatype.org发布jar包
    点击左侧的Staging Repositories滑到最下面,选中刚上传的一项点击close,此时网站会检查刚上传的jar包是否符合要求,检查完毕后状态会变为closed,这时点击Release,等待约两小时即可在search.maven.org搜索到你发布的jar包。

  2. 升级jar包或上传新的同groupId下的包
    直接第5、6步即可。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值