Maven中央仓库发布详解

  • 开通官方账号
    • 注册
    • 提交issue
    • 按照提示步骤操作
  • 准备工作
    • 签名工具
    • 配置Maven Setting.xml
  • 上传jar包
    • 修改项目pom.xml
  • 仓库管理

开通官方账号

这个分为两部分,一个是官方的Jira,一个是官方的仓库。前者用于提交issue开通仓库账号权限。

注册

先访问官方Jira,注册一个账号。

提交issue

在Jira首页点击新建,选择Community Support - Open Source Project Repository Hosting (OSSRH),不要选择Maven那个。

注意:GroupId 不能使用com.github.* 需要使用io.github.*
按照你项目的信息填写后,Jira会根据你issue填写的信息进行反馈

按照提示步骤操作

  1. 修改GroupId,这个GroupId可以和真正的代码中的package不一致,但是推荐一致。
  2. 代码库创建工单号对应的项目,用于验证代码库的归属真实性
  3. 把issue状态设置为Open
  4. 成功后,会有一个提示,告知仓库地址,这个地址要按照通知的来,不要看网上的


    会告知你发布到各个仓库的时效,半小时可以在repo1.maven.org/maven2下载到jar包,4个小时到search.maven.org就可搜索到了。
  5. 然后就可以登录到这个仓库地址,可以直接将本地打好的jar包上传
  6. 注意需要上传.pom、.jar、source.jar 和javadoc.jar,同时需要进行签名
  7. 一般不推荐这样上传,可参考后续章节

准备工作

签名工具

下载Gpg4win,Gpg4win 的核心是GPG,并包括Kleopatra、GPA、GpgOL、GpgEX和Claws Mail 五个相关工具,其中Kleopatra 和GPA 是GPG 的密钥管理器,用于生成、导入和导出GPG 密钥(包括公钥和私钥)
打开Kleopatra,新建秘钥对,记住密码,后面要用



这个就可以暂时放在一边了。

配置Maven Setting.xml

  1. 添加一个server,输入之前在Jira注册的账号和密码,也是仓库的账号的密码。
  2. 添加一个profile,输入passphrase为刚才让你记住的那个密码
  3. OK

上传jar包

修改项目pom.xml

  1. 添加插件,生成源码包和javadoc包
  2. 添加gpg插件,用于签名

    id是刚才setting里配置的gpg的id
    打包过程中可能会弹出一个秘钥输入框,输入gpg秘钥对的那个密码
  3. 配置deploy的仓库地址,配置为之前提交问题后反馈的那个地址,可能会变化,不要看网上的,注意id和之前setting里配置的server的id要一致
  4. 执行deploy后,就会上传到发布仓库了

仓库管理

  1. 发布,登录仓库,后点击Staging Repositories,右边会列出你上传的文件,然后点击Release
  2. 有问题,下面会列出来,如果完全按上面步骤来,基本一次过
  3. 这步可以在pom中配置nexus-staging-maven-plugin来把打包、上传、发布一键操作

    serverId就是刚才在setting文件中配置的server,nexusUrl就是仓库地址
  4. autoReleaseAfterClose配置为true,deploy就不需要在仓库中在操作部署了
  5. 快去试试吧。

Maven中央仓库发布详解相关推荐

  1. 如何把JAR发布到maven中央仓库

    详细描述maven中央仓库发布jar包的中间过程, 以及遇到的一些问题汇总, 尽量用文字描述清楚, 耐心看下去, 就一定会发布成功 ----Sonatype篇---- 名词解释: Sonatype N ...

  2. 发布个人项目jar包到maven中央仓库详解

    发布个人项目jar包到maven中央仓库详解 1.在sonatype提交发布工单(Issue) sonatype是由社区支持的开源项目托管服务(Open Source Project Reposito ...

  3. idea maven打jar包_Dev 日志 | 如何将 jar 包发布到 Maven 中央仓库

    摘要 Maven 中央仓库并不支持直接上传 jar 包,因此需要将 jar 包发布到一些指定的第三方 Maven 仓库,比如:Sonatype OSSRH 仓库,然后该仓库再将 jar 包同步到 Ma ...

  4. 如何将JAR包发布到Maven中央仓库?

    将jar包发布到Maven中央仓库(Maven Central Repository),这样所有的Java开发者都可以使用Maven直接导入依赖,例如fundebug-java: <!-- ht ...

  5. 如何将自己的代码发布到Maven中央仓库?

    去年在公司做工作流相关业务时,当时使用flowable做引擎,中途涉及到一些业务上的需求,自己整理了一些代码,考虑到开源精神,当时就想着将于公司业务无关的代码抽离出来,放到Maven中央仓库中,以供别 ...

  6. 喜大普奔,微软Microsoft JDBC Driver For SQL Server已发布到maven中央仓库

    相信通过java和SQLServer开发应用的同学们都经历过如下类似的问题. 微软提供的JDBC官方驱动没有放置在Maven仓库中,这样如果你的Java应用需要访问SQL Server,你不得不下载s ...

  7. 我把自己的java库发布到了maven中央仓库,从此可以像Jackson、Spring的jar一样使用它了

    欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 关于maven中央仓库 作为一个java程序员,对ma ...

  8. 发布/上传Jar包到Maven中央仓库 - 史上最详细

    发布 Jar 包到 Maven 中央仓库 在项目开发过程中,我们常常会使用 Maven / Gradle 从仓库拉取开源的第三方 jar 包,可能是私有仓库,可能是 Maven 中央仓库,也可能是第三 ...

  9. 如何发布自己的项目到Maven中央仓库?

    在Maven项目中,90%以上的jar包是通过pom文件直接从开源仓库中获取依赖jar包文件,然后在项目中进行集成使用. 此时如果你有一个开源项目,那么如何将该开源项目发布到Maven中央仓库,让其他 ...

最新文章

  1. Git Bash Here 中文显示乱码,有遮挡, 的处理方法
  2. Oralce数据库之存储过程、存储函数、触发器和数据字典
  3. Python中必备知识点:对字符编码的基本操作
  4. C语言程序练习-L1-003 个位数统计 (15分)
  5. bzoj 3209: 花神的数论题
  6. mysql技术内幕《读书笔记》
  7. Arthas - 开源 Java 诊断工具
  8. 查询优化器内核剖析第四篇:从一个实例看执行计划
  9. y电容如何选型_高压并联补偿电容器基础及运行管理
  10. dataframe中多列除以不同列_Python之DataFrame切片与索引实验
  11. 小程序文章怎么导出来_宠物小程序怎么进行盈利
  12. iPhone 12 要来了,手机是时候换到 11 了
  13. java写的网络版斗地主_JAVA网络版斗地主游戏
  14. CEO陈睿多措施并举,为B站的创新发展护航
  15. 《软件测试》 --- 读书笔记
  16. 【均衡器】LS均衡器,DEF均衡器以及LMMSE均衡器的误码率性能对比仿真
  17. 数据科学分布——二项式分布
  18. mysql数据库迁移方案
  19. 编写Android Studio插件
  20. 小米品牌:图腾化的胜利

热门文章

  1. 番剧更新表及番剧详情数据库
  2. 【Unity3D】如何在 VR 中观看全景图片
  3. 图的几个基本概念:连通图、强连通图、完全图等
  4. 云栖小镇通勤车_云栖大会来啦!云栖小镇怎么走 杭州交警告诉你
  5. 2017/3 更新异常说明
  6. linux popen 函数,Linux下使用popen()执行shell命令
  7. 全球及中国双远心镜头行业研究及十四五规划分析报告
  8. 电子二极管(真空二极管), 电子三极管(真空三极管), 晶体二极管, 晶体三极管
  9. c++语言中ifndef和endif的用法
  10. 有什么P图抠图的工具?几个步骤轻松处理