上传jar包到maven中央仓库过程中遇到的一些问题总结!
网上有很多相关教程, 我按步骤一步步走下来, 都还算顺利, 简单列举一下步骤以及其中需要注意的几个点(不详细, 不适合当教程)
第一步: 到https://issues.sonatype.org/secure/Dashboard.jspa注册账户并提交一个工单,表示要创建一个个人groupId
此过程中需要注意的几个点:
a) 管理员跟我们有时差, 我们白天提交, 晚上他们才会审核
b) groupId 规则是 一个域名的反写, 如 2oi7.com , 则groupId为 com.2oi7 , 使用自己的域名作为groupId 需要提交所属证明, 比如自己的域名列表截图, 或者注册成功的邮件等, 事先提交就好, 不然等第二天提交的时候, 管理员又在呼呼大睡了!
c) 如果自己没有域名可以 使用 自己的 github 或 gitee 主页地址, 也就是2级域名, 这个也要跟管理员说明情况, 不然他还得问你是不是这个域名的主人
第二步: 下载安装GPG
第三步: 修改maven的 settings.xml 配置, 加上两个<server>节点
此过程中需要注意的几个点:
a) 这里的 id 注意不要打错字了!, 一个是 sonatype-nexus-snapshots , 另一个是 sonatype-nexus-staging , 否则后面部署的时候会出现授权不通过
第四步: 修改自己项目的pom.xml 文件, 加入一些必要的信息(项目地址, 开发者等), 继承官方 oss-parent 的pom可以省去很多配置
第五步: 在项目根目录执行 mvn clean deploy -P sonatype-oss-release -Darguments=`gpg.passphrase=GPG密码` -X 期间可能需要按一下 enter 和 输入gpg密码
此过程中需要注意的几个点:
a) 项目的版本号不能以 SNAPSHOT 结尾, 否则部署以后无法在 Staging Repositories 找到, 我在这里卡了一天, 网上找不到答案, 最后是问了管理员
b) mvn命令最后加一个 -X 可以输出详细信息, 遇到报错的时候挺有用的
c) 部署的项目 groupId 必须与提交工单的 groupId一直, 否则将无法发布
第六步: 运行命令 `gpg --keyserver hkp://keyserver.ubuntu.com:11371 --send-keys 自己的GPG密钥` 密钥可以通过命令 `gpg --list-keys` 查看
第七步: 到 https://oss.sonatype.org/#stagingRepositories 登入后直接看最下面, 找到自己上传的项目, 选中后左上角close -> 左上角刷新 -> 选中后左上角 release, 如果没问题到这里就ok了
a) 发布成功后, 自己的工单最后会有一个新消息, 提示已经发布成功
b) 一般10分钟内同步到中央仓库并供外网依赖下载, 2个小时左右可以在 maven搜索页中搜索到, 我现在3个小时, 已经可以正常依赖使用, 但是搜索还搜不到, 但是搜索不重要, 能用就可以了