上传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,各位小伙伴大家好,我是小栈君.好久不见,最近因为工作的缘故,导致了更新变慢,但是小栈君也在积极的做素材的规划,毕竟学习知识点的归纳和提炼需要一定的时间. 所以还请大家多多见谅,下一期的分享 ...
随机推荐
- Bean的自动装配
再说自动装配之前,我们先聊一聊什么是手动装配. 手动装配就是我们在先前讲的那些,要自己给定属性,然后赋值 Spring IOC容器可以自动装配Bean,需要做的仅仅实在<bean>的aut ...
- 图像压缩编解码实验(DCT编码+量化+熵编码(哈夫曼编码))【MATLAB】
课程要求 Assignment IV Transform + Quantization + Entropy Coding Input: an intra-frame or a residue pict ...
- CentOS修改SSH端口号和禁止root用户直接登录
linux安装ssh远程登录后,为了安全起见,修改默认的22端口号并禁止root用户直接通过ssh登录. 配置方法如下: 1.使用vi编辑器打开ssh配置文件 /etc/ssh/sshd_config ...
- [模板] K-D Tree
K-D Tree K-D Tree可以看作二叉搜索树的高维推广, 它的第 \(k\) 层以所有点的第 \(k\) 维作为关键字对点做出划分. 为了保证划分均匀, 可以以第 \(k\) 维排名在中间的节 ...
- 字符串格式的方法%s、format和python3.6新特性f-string和类型注解
一.%s msg = '我叫%s,今年%s,性别%s' %('帅哥',18,'男') print(msg) # 我叫帅哥,今年18,性别男 二.format # 三种方式: # 第一种:按顺序接收参数 ...
- DRF初识与序列化
一.Django的序列化方法 1.为什么要用序列化组件 做前后端分离的项目,我们前后端数据交互一般都选择JSON,JSON是一个轻量级的数据交互格式.那么我们给前端数据的时候都要转成json格式,那就 ...
- SpringCloud实践引入注册中心+配置中心
随着服务数量的增多,尤其是多数项目涉及jni本地方法的调用,所需参数配置较多,同时内存溢出等维护问题时常发生.鉴于此,原tomcat集群的使用已难满足需求,而微服务的思想契合当前项目实践,特在服务端构 ...
- 「线性基」学习笔记and乱口胡总结
还以为是什么非常高大上的东西花了1h不到就学好了 线性基 线性基可以在\(O(nlogx)\)的时间内计算出\(n\)个数的最大异或和(不需要相邻). 上述中\(x\)表示的最大的数. 如何实现 定义 ...
- Java【第八篇】面向对象之高级类特性
static 关键字 当我们编写一个类时,其实就是在描述其对象的属性和行为,而并没有产生实质上的对象,只有通过new关键字才会产生出对象,这时系统才会分配内存空间给对象,其方法才可以供外部调用.我们有 ...
- go实现json数组嵌套
go实现json数组嵌套 引用包 "encoding/json" 定义以下结构体 type person struct { Name string `json:"name ...