美文网首页
SpringBoot —— maven中央仓库发布

SpringBoot —— maven中央仓库发布

作者: holyhigh2 | 来源:发表于2021-10-05 11:28 被阅读0次

    开发环境

    请见《项目部署及打包》
    OSSRH指南

    概述

    本文主要描述基于IDEA + Maven的项目打包、本地测试、snapshot发布、release发布等内容。
    本文主要记录基于IDEA + Maven如何提交开源库到中央仓库的过程,包括

    • 账号申请
    • maven配置
    • pom源信息配置
    • 与审核人员沟通
    • snapshot发布/测试
    • release发布

    中央仓库

    代码仓库为开发者提供统一、便捷、规范的代码服务。注意,这里的仓库并不是git/svn一类的源码管理库,而是提供插件安装、模块扩展、 快速构建的模块服务库,就像npmjs样。

    账号申请

    使用所有公共服务前,第一步总是注册账号


    注册成功

    maven配置

    找到IDEA的maven设置或自己重写一个


    IDEA maven设置

    settings.xml中有很多配置,但关系到发布仓库的只需要指定server即可

    <server> 
      <id>ossrh</id>
      <username>holyhigh</username>  
      <password>holyhighspwd</password> 
    </server>
    

    注意配置文件中的id,他必须和pom中的发布管理仓库id一致

    pom配置

    为了提供库信息,pom文件中需要加入一些描述信息包括

    <!-- 许可协议 -->
    <licenses> 
      <license> 
        <name>MIT License</name>  
        <url>http://www.opensource.org/licenses/mit-license.php</url> 
      </license> 
    </licenses>
    <!-- 开发者信息 -->
    <developers> 
      <developer> 
        <name>holyhigh</name>  
        <email>holyhigh2@hotmail.com</email> 
      </developer> 
    </developers>
    <!-- 源码管理 -->
    <scm> 
      <connection>https://github.com/holyhigh2/juth2-server</connection>  
      <developerConnection>https://github.com/holyhigh2/juth2-server.git</developerConnection>  
      <url>https://github.com/holyhigh2/juth2-server/tree/master</url> 
    </scm>
    <!-- 发布管理 -->
    <distributionManagement> 
      <snapshotRepository> 
        <id>ossrh</id>  
        <url>https://oss.sonatype.org/content/repositories/snapshots</url> 
      </snapshotRepository>  
      <repository> 
        <id>ossrh</id>  
        <url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url> 
      </repository> 
    </distributionManagement>
    

    其他项目配置可以参考开发自启动的boot依赖包

    与审核人员沟通

    人工审核这点显然没有npmjs这样自动审核来的方便,但也许仓库管理者觉得这样可以避免一些版权问题或者恶意注册 —— 比如管理员会要求你证明源码库是你自己的源码库。
    首先,你需要登录sonatype(按照本文开头的OSSRH指南)并创建一个发布库的“问题”(没错,要发布库需要发布一个问题并等待管理员接单)


    创建问题

    然后管理员会要求你验证源码库


    验证要求
    按要求执行完后,你可以通过注释留言或者点击“响应”按钮通知管理员复核。然后他会告诉你下一步怎么做
    可以发布许可

    此时,你可以通过IDEA集成的maven工具上传代码了

    snapshot发布/测试

    在发布正式release之前,通常会发布预览版/公测版,也就是snapshot。它的好处是可以方便的快速更迭 —— 只需要写好settings & pom文件就可以一键发布了


    一键部署snapshot

    发布成功后就可以在主项目中引入这个依赖进行使用/测试了

    <dependency>
        <groupId>com.github.holyhigh2</groupId>
        <artifactId>juth2-server</artifactId>
        <version>0.1.2-SNAPSHOT</version>
    </dependency>
    

    release发布

    经过snapshot测试后就可以发布稳定版本。

    相关文章

      网友评论

          本文标题:SpringBoot —— maven中央仓库发布

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