当你有个很好的想法, 写了一个开源的项目,想发布到maven公共仓库给别人用的时候, 你可能就需要这篇教程。

整个教程分三篇博客讲解

  • 第一篇: 注册账号和提交申请
  • 第二篇: 安装gpg和配置pom.xml文件
  • 第三篇:打包上传发布(敬请期待)

目录

  • 申请账号
    • 打开网址: https://issues.sonatype.org/secure/Dashboard.jspa
    • 注册账号
  • 提交申请
    • 验证你的group id
  • GPG签名使用
  • 打包注意事项
  • 上传发布

申请账号

打开网址: https://issues.sonatype.org/secure/Dashboard.jspa

这个网址打开会有点慢, 如果不能打开就需要一些科技了。 毕竟国外的网络只能这样。 因为我已经注册了账号并记住密码了, 所以图中账号密码自动填写了。

注册账号

点击sign up 链接会跳转到注册信息填写页面

  • email 邮箱地址, 很重要, 后面会用来接收邮件。 我填写了自己的qq邮箱
  • full name 你的全名, 你可以填写自己的英文名。
  • username 用户名
  • password 密码必须符合规则. 规则比较复杂, 我是使用LastPass插件自动生成的。这个插件强烈推荐, 我的所有账号密码都记录在这个插件.

注册要求的密码规则十分复杂,按照提示设置后, 还需要拿个本子记下来, 因为后买会用到这个密码

注册成功后会出来下面的页面。 同时也会往你的注册邮箱里面发送一份邮件。如果密码忘记了可以通过邮箱找回密码


注册成功后再次点开开始的页面, 填写刚刚注册的账号密码登录。

登录成功后会进入上图所示的页面。 说明注册成功了, 就可以进行下一步了。

提交申请

上面的操作已经注册账号成功了, 并且登录进去了, 此时点击登录进入页面的正上方的create 按钮。 出现下图所示页面

图中每项说明:

  • Project 如果是发布开源包给其他使用, 选择 Community Support - Open Source Project Repository Hosting (OSSRH)
  • Issue Type 选择 New Project
  • suumary 填写发布包的简介
  • Description 填写说明。 可不填
  • Attachment 可不填
  • Group Id 填写你的包的group id。 你的包的group id 不要随便命名, 后面会需要验证这个的。 我是因为有自己的域名 xiezc.xyz, 所以我的包的group id都是使用的xyz.xiezc作为group id的。
  • Project URL 你的项目的源码地址, 填写的项目的github地址就可。
  • SCM ur 填写你的github项目的git url。 记住是git clone的url,带.git后缀的url。
  • Username 可以不用填。
  • Already Synced to Central 选择None

上面的填完后提交, 会创建一个issues。 找到这个issues后点开如下图所示。


注意图中的下面的红框,maven仓库的管理员会通过Comments来告诉你下一步如何做的,并且同时也会发送邮件到你邮箱通知你。 图中红框中管理员给我的指示是:

我的 group id 使用xyz.xiezc,他要我来证明这个域名是我自己的, 给了我两种证明的方法,

  1. 在域名下增加txt类型的DNS解析记录来执行这个issues 。
  2. 设置域名重定向到你的github页面,前提是这个域名之前没有这样做过。

如果你group id使用的是你的github地址 com.github.yourname. 则是另外一种验证方式, 需要你在新建一个github空白仓库, 仓库名称就是你的issue的编号, 按照上图中就是 OSSRH-57801。 并且在下面的comment中告知管理员, 管理员回去验证的。

验证你的group id

我选择了第一种方式: 增加DNS解析记录。

图中是我的阿里云页面增加的解析记录。
然后再在之前创建的issue中增加comment 评论。

图中我告知管理员我增加了DNS的TXT解析记录。 并告知了验证方式。 管理员很快回复了我, 并告知我审核通过了,我可以上传快照版本到https://oss.sonatype.org/content/repositories/snapshots地址,上传发布版本到https://oss.sonatype.org/service/local/staging/deploy/maven2地址了.

central-ossrhCentral OSSRH added a comment - 2 days ago
xyz.xiezc has been prepared, now user(s) xiezc can:Deploy snapshot artifacts into repository https://oss.sonatype.org/content/repositories/snapshots
Deploy release artifacts into the staging repository https://oss.sonatype.org/service/local/staging/deploy/maven2
Release staged artifacts into repository 'Releases'
please comment on this ticket when you promoted your first release, thanks

到这里注册账号, 提交申请已经完成了, 接下来就是打包签名和上传发布了。 剩下的步骤我会留在下篇博客中讲述。

GPG签名使用

下篇博客讲解

打包注意事项

下篇博客讲解

上传发布

下篇博客讲解

发布包到maven公共仓库图文教程(1) --- 注册账号和提交申请相关推荐

  1. 发布包到maven公共仓库图文教程(2) --- gpg签名和pom.xml的配置等

    在操作这篇文章之前你需要做一些账号注册和提交申请前置操作, 前置操作我已经写了另一篇博客, 请移步 链接在此. 这篇接着讲如何使用gpg和和配置发布信息. 因为内容有点多, 所以最重要的打包和发布环节 ...

  2. idea建springcloud项目_idea创建springcloud项目图文教程(EurekaServer注册中心)

    http://blog.csdn.net/hcmony/article/details/77854999 idea创建springcloud项目图文教程(EurekaServer注册中心)(六) 1, ...

  3. 【图文教程】注册Oculus开发者账号

    [图文教程]注册Oculus开发者账号 总结 话不多少,直接开干,首先登录你的FB账号,并保持页面不要关闭,然后打开一个的网页标签,用来访问oculus官网,滚到页面最底下,点[开发者].或者直接访问 ...

  4. Borland C++ Builder6.0中文破解安装详细图文教程(附注册机)

    Borland C++ Builder6.0中文破解安装详细图文教程(附注册机) 互联网   03-20 09:10:25   作者:佚名    我要评论 C++Builder 6.0是一款由Borl ...

  5. Amazon EC2免费一年申请使用图文教程

    Amazon EC2免费一年申请使用图文教程 Filed Under: 域名空间 by baiducomru  2010/11/05 千百度记忆角落曾发布过<Amazon免费一年云vps 申请教 ...

  6. java poi jar maven_导出maven项目依赖的jar包(图文教程)

    注意使用mvn命令是需要配置好maven的环境变量 一.导出到自定义目录中 在maven项目下创建lib文件夹,输入以下命令: mvn dependency:copy-dependencies -Do ...

  7. linux提取声卡的codec教程,发个菜鸟提取声卡codec文件图文教程,老手就别看了,小心被骂!...

    废话不多说,先上图!说是图文教程,图在前,文在后嘛. 2011-4-21 14:05 上传 下载附件 (38.08 KB) 2011-4-21 14:02 上传 下载附件 (176.98 KB) 在论 ...

  8. 解决Maven:Cannot resolve com.oracle.ojdbc:ojdbc6:11.2.0.1.0报红找不到问题,解决方案亲测有效详细图文教程 问题描述

    解决Maven:Cannot resolve com.oracle.ojdbc:ojdbc6:11.2.0.1.0报红找不到问题,解决方案亲测有效详细图文教程 问题描述 解决方法 问题描述 有小伙伴遇 ...

  9. java撤销删除_[Java教程]利用npm安装/删除/发布/更新/撤销发布包

    [Java教程]利用npm安装/删除/发布/更新/撤销发布包 0 2017-06-10 00:00:32 一.什么是npm? npm是javascript的包管理工具,是前端模块化下的一个标志性产物 ...

最新文章

  1. 多线程服务端和客户端通信
  2. linux各种小程序源码,Linux中的小程序—— 进度条
  3. Bootloader详解
  4. Using the URLconf defined in catsui.urls, Django tried these URL patterns, in this order:
  5. Java中头指针和头结点_. 2 . 【严题集 2.1① 描述以下三个概念的区别:头指针、头结点、首元结点(第一个元素结点)。...
  6. OD使用教程13(迷途) - 调试篇13
  7. [HTTP] 重定向的302,301
  8. 分布式session的6种解决方案
  9. sublime 设置自动更新_Win10关闭自动更新的三种方法
  10. Python 一个无限 重复生成器的实现 和一个简洁的 quicksort
  11. SQL:postgresql查询、删除名字中包含某些字段的视图
  12. oracle 对比 clob,解决比较Oracle中CLOB字段问题
  13. myEclipse-svn的安装使用
  14. Java小程序:单循环比赛,总分高者获胜的源代码
  15. 软考-网络工程师-下午考试知识点
  16. 使用java自带的方式调用打印机打印图片
  17. 化合物相似性搜索_分子相似性的应用
  18. Python练习题16:人名独特性统计
  19. 简智音科技:抖音短视频账号限流后的解决方法
  20. 数据库并发事务存在的问题(脏读、不可重复读、幻读等)

热门文章

  1. LNK1104:无法打开文件kernel32.lib的解决方法解决方法
  2. C语言小游戏————贪吃蛇.c
  3. Android USB 串口通信
  4. 进入BeOS的花花世界 系列九
  5. 观察者(observer)模式(一)
  6. 大前端 - react- 服务端渲染 - Gatsby
  7. JS Decorator —— 装饰器(装饰模式)
  8. canvas清除画布
  9. linux 查看CPU核数
  10. 掷一枚硬币,直到连续出现两次正面朝上的时候停止,问掷硬币次数的期望