发布Maven构件到中央仓库

小编 2026-06-29 阅读:1641 评论:0
redis-mock项目改进后,也想更多人可以获益,所以也发布到maven中央仓库(之前的redis-mock已经好几年没人维护了) 申请sonatype账号https://issues.sonatype.org/secure/Dash...

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

申请sonatype账号

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

项目pom准备

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

<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配置
<server>
    <id>oss</id>
    <username>{sonatype账号}</username>
    <password>{sonatype密码}</password>
</server>
  • pom.xml配置
<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>
  • 发布
mvn clean deploy

通知sonatype的工作人员关闭issue

image.png

使用构件

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

下次再发布

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

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

以后的发布流程:

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

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

参考

版权声明

本文仅代表作者观点,不代表百度立场。
本文系作者授权百度百家发表,未经许可,不得转载。

热门文章
  • 机房智能化温湿度解决方式之POE供电以太网温湿度传感器

    机房智能化温湿度解决方式之POE供电以太网温湿度传感器
    机房智能化温湿度解决方式之POE供电以太网温湿度传感器 北京盈创力和电子科技有限公司 智能型TCP网口温湿度记录仪 北京IP网络温湿度记录仪厂家,北京盈创力和 北京智能型TCP网口温湿度记录仪IP网络温湿度记录仪是一种新型的基于TCP/IP协议双绞线以太网标准温湿度采集模块,利用它可以实现现场温度值、相对湿度值的采集,同时利用其自身的RJ45通信接口可以方便地和机房监控主机或交换机集线器进行联网。 工作于-40℃~85℃工业级带...
  • Sequential Monte Carlo Methods (SMC) 序列蒙特卡洛/粒子滤波/Bootstrap Filtering

    Sequential Monte Carlo Methods (SMC) 序列蒙特卡洛/粒子滤波/Bootstrap Filtering
    Problem Statement 我们考虑一个具有马尔可夫性质、非线性、非高斯的状态空间模型(State Space Model):对于一个时间序列上的观测结果{yt,t∈N}\\{ y_t , t \\in N \\}{yt​,t∈N},我们认为每个观测结果yty_tyt​的生成依赖于一个无法直接观察的隐变量xt∈{xt,t∈N}x_t \\in \\{x_t , t \\in N \\}xt​∈{xt​,t∈N},即:p(...
  • HTTP状态保持的原理

    HTTP状态保持的原理
    a)在用户登录之后,浏览器返回响应的时候会在响应中添加上cookieb)浏览器接收到cookie之后会自动保存c)当用户再次请求同一服务器中的其他网页的时候,浏览器会自动带上之前保存的cookied)服务接收到请求之后可以请 request 对象中取到cookie 判断当前用户是否登录  Http是无状态的,就是连接时数据互通,关闭后...
  • Hive 系统函数及示例

    Hive 系统函数及示例
    查看所有系统函数 show functions; 函数分类 内置函数【系统函数】 数学函数: floor、round、ceil、cos、log2等 字符串函数: length、reverse、trim、lower、get_json_object、repeat等 收集函数: size 转换函数: cast 日期函数: year、month、datediff、date、date_add等 条件函数: coalesce、case…w...
  • CSRF的原理和防范措施

    CSRF的原理和防范措施
    a)攻击原理:i.用户C访问正常网站A时进行登录,浏览器保存A的cookieii.用户C再访问攻击网站B,网站B上有某个隐藏的链接或者图片标签会自动请求网站A的URL地址,例如表单提交,传指定的参数iii.而攻击网站B在访问网站A的时候,浏览器会自动带上网站A的cookieiv.所以网站A在接收到请求之后可判断当前用户是登录状态,所以...
标签列表