上传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个小时, 已经可以正常依赖使用, 但是搜索还搜不到, 但是搜索不重要, 能用就可以了
上传jar包到maven中央仓库过程中遇到的一些问题总结!的更多相关文章
- maven插件上传本地jar包到maven中央仓库
settings配置(如果设置后有问题,可以重启idea,保证重新加载settings文件): <!-- 上传jar包到maven中央仓库配置start --> <server> ...
- 如何发布jar包到maven中央仓库
自使用maven以来,没少使用maven中央仓库中的各种jar包,方便有效,但是咱们也不能总是只取不予,也应该懂得奉献,当你写好了一个十分好用的jar包,想贡献出去给大家使用的时候,应该怎么做呢?当然 ...
- 如何发布自己的 jar 包到 maven 中央仓库(待更新...)
参考链接 如何发布自己的 jar 包到 maven 中央仓库
- gradle上传jar包到maven公共仓库
首先这里说的中央仓库 是指的 https://issues.sonatype.org/ 而不是maven私服. 其次是使用gradle上传jar包,maven上传,网上有很多教程,这里不做赘述. 首选 ...
- 发布Jar包到maven中央仓库
什么是maven中央仓库 maven是java世界最流行的构建工具,构建内容囊括了一个java项目的整个生命周期.其中最重要的功能就是依赖管理,maven通过一个类似云的ftp站点统一管理所有java ...
- 一份可以发布jar包到MAVEN中央仓库的POM
[2017-01-03 更新]将基础的pom抽离成一个项目无关的parent pom,euler-framework的pom继承这个parent pom 今天在家折腾了一下怎么把Jar包发布到Mave ...
- 上传jar包至maven私服
1.maven环境变量配置(新建系统变量,编辑Path) 2.修改maven的setting文件 2.1 私服的用户配置 2.2 私服镜像配置 2.3 (我也不知道是啥) <profile> ...
- Maven第四篇【私有仓库、上传jar包、引用私服jar包、上传本地项目到私服】
搭建私有服务器 前面已经说过了,我们使用Maven的使用,如果需要导入相对应的jar包,Maven首先会在我们的本地仓库中寻找->私有仓库->中心仓库- 然而,我们的本地仓库常常没有想要的 ...
- 实测Maven上传jar包到私服的方法归纳
Hello,各位小伙伴大家好,我是小栈君.好久不见,最近因为工作的缘故,导致了更新变慢,但是小栈君也在积极的做素材的规划,毕竟学习知识点的归纳和提炼需要一定的时间. 所以还请大家多多见谅,下一期的分享 ...
随机推荐
- Windows 通过批处理自动执行 linux服务器上面命令的办法
1. 使用putty 下载地址 https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html 直接使用 exe版本就可以 https:/ ...
- Bean之间的关系
Bean之间主要有继承和依赖的关系,这里的继承并不是我们面向对象里面所提到的继承. 继承 我们先来创建一个新的配置文件beans-relation.xml <bean id="addr ...
- NOIP2000提高组复赛C 单词接龙
题目链接:https://ac.nowcoder.com/acm/contest/248/C 题目大意: 略 分析: 注意点:1.前缀和后缀的公共部分应该选最短的.2.如果两个字符串前缀和后缀的公共部 ...
- sgu438-The_Glorious_Karlutka_River
Description SGU似乎死了... 题目搬到了Codeforces... Problem - 99999438 - Codeforces Solution 动态最大流. 考虑如果不求时间, ...
- IO多路复用和local概念
一.local 在多个线程之间使用threading.local对象,可以实现多个线程之间的数据隔离 import time import random from threading import T ...
- [M$]重装或更换主板后提示“由于指定产品密钥激活次数“ office 2016
https://answers.microsoft.com/zh-hans/msoffice/forum/all/%E6%8C%87%E5%AE%9A%E4%BA%A7%E5%93%81%E5%AF% ...
- Codeforces 1079C Playing Piano(记忆化搜索)
题目链接:Playing Piano 题意:给定长度为n的序列$a_i$,要求得到同样长度的序列$b_i$.满足一下条件: if $a_i < a_{i+1}$ then $b_i < b ...
- bzoj4514 数字配对
思路 首先想到费用流. 对于每个点拆点.然后考虑我们怎样才能保证每个点只被用一次. 如果\(i\)与\(j\)满足条件.那么就从\(i\)向\(j\)连一条边并且从\(j\)向\(i\)连一条边.这样 ...
- linux basic ------ dd 和 cp 的区别
问:看了一些关于dd和cp的命令,但是我始终无法明白dd和cp之间有什么不同?不是都可以看成是备份的作用么?还有什么区别呢?答:1.dd是对块进行操作的,cp是对文件操作的. 2.比如有两块硬盘,要将 ...
- sublime中编译的sass如何改变css输出风格?【这里有答案】
由于在网上找了一遍没找到如果在sublime中将sass编译的css转换成为自己喜欢的风格,所以换了一种思路搜索到了答案,这里我将讲述如果更改. 首先sass总共有四种编译风格 (1) nested( ...