美文网首页
发布Maven构件到中央仓库

发布Maven构件到中央仓库

作者: 十毛tenmao | 来源:发表于2019-11-05 22:07 被阅读0次

    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

    使用构件

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

    下次再发布

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

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

    以后的发布流程:

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

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

    参考

    相关文章

      网友评论

          本文标题:发布Maven构件到中央仓库

          本文链接:https://www.haomeiwen.com/subject/futybctx.html