前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >发布Maven构件到中央仓库

发布Maven构件到中央仓库

作者头像
十毛
发布2019-11-07 12:30:00
7370
发布2019-11-07 12:30:00
举报
文章被收录于专栏:用户1337634的专栏

redis-mock项目改进后,也想更多人可以获益,所以也发布到maven中央仓库(之前的redis-mock已经好几年没人维护了)

申请sonatype账号

https://issues.sonatype.org/secure/Dashboard.jspa

项目pom准备

要发布到sonatype,项目需要补充完整仓库,开发者以及license信息

代码语言:javascript
复制
<scm>
    <connection>scm:git:https://github.com/tenmao/redis-mock.git</connection>
    <url>scm:https://github.com/tenmao/redis-mock.git</url>
    <developerConnection>scm:https://github.com/tenmao/redis-mock.git</developerConnection>
    <tag>HEAD</tag>
</scm>

<developers>
    <developer>
        <id>tenmao</id>
        <name>tenmao</name>
        <email>kuanglong2016@gmail.com</email>
    </developer>
</developers>

<licenses>
    <license>
        <name>MIT License</name>
        <url>http://www.opensource.org/licenses/mit-license.php</url>
    </license>
</licenses>

创建issue

  • 选择Community Support - Open Source Project Repository Hosting (OSSRH)New Project

创建Issue

  • 配置issue详情
    • group id: 就是别人在使用你的构件的时候在pom.xml里面进行定位的坐标的一部分,最好是自己的域名倒序, 如果自己没有域名就填写github域名,比如com.github.tenmao

    创建Issue

验证github账号

收到sonatype的回复:Please create a public repo called https://github.com/tenmao/OSSRH-52768 to verify github account ownership.。 让我们去github上创建指定的repository

账号验证

创建完后,可以回复一下评论

发布deploy

验证账号后可以发布到指定仓库

sonatype同意

  • settings.xml配置
代码语言:javascript
复制
<server>
    <id>oss</id>
    <username>{sonatype账号}</username>
    <password>{sonatype密码}</password>
</server>
  • pom.xml配置
代码语言:javascript
复制
<distributionManagement>
    <snapshotRepository>
        <id>oss</id>
        <url>https://oss.sonatype.org/content/repositories/snapshots</url>
    </snapshotRepository>
    <repository>
        <id>oss</id>
        <url>https://oss.sonatype.org/service/local/staging/deploy/maven2</url>
    </repository>
</distributionManagement>
  • 发布
代码语言:javascript
复制
mvn clean deploy

通知sonatype的工作人员关闭issue

image.png

使用构件

一切完成后并不可以马上就使用你所发布的构件,得等系统将你的构件同步到中央仓库之后才可以使用, 这个时间至少要2个小时,然后就可以在中央仓库的搜索页面 http://search.maven.org/ 搜到你的构件啦

下次再发布

你看了上面这长篇大论,感觉好像流程很复杂。但是好消息是你只需要第一次的时候这么做。后面再发布就轻松多啦。

第一次成功之后,以后就可以使用你的groupid发布任何的构件了,只需要你的groupid没有变就行,(当然不能发布重复构件哈),不用这么麻烦。

以后的发布流程:

代码语言:javascript
复制
- 构件准备好之后,在命令行上传构建;
- 登录 https://oss.sonatype.org/ , close 并 release 构件;
- 等待同步好(大约2小时多)之后,就可以使用了

注意:很多文章都说开通需要GPG签名,但是实际操作发现,也可以不用的

参考

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 申请sonatype账号
  • 项目pom准备
  • 创建issue
  • 验证github账号
  • 发布deploy
  • 通知sonatype的工作人员关闭issue
  • 使用构件
  • 下次再发布
  • 参考
相关产品与服务
访问管理
访问管理(Cloud Access Management,CAM)可以帮助您安全、便捷地管理对腾讯云服务和资源的访问。您可以使用CAM创建子用户、用户组和角色,并通过策略控制其访问范围。CAM支持用户和角色SSO能力,您可以根据具体管理场景针对性设置企业内用户和腾讯云的互通能力。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档