前一阵子工作有点忙,也比较焦虑。没有时间写一些博客文章,今天来补充一下。
想要解锁更多新姿势?请访问我的博客。😏
做点什么?
面临毕业,不想一直咸鱼,可是又什么都不会,做点什么的?思来想去,也是为了给自己少一点麻烦,就决定把自己半年前那个秒杀商城项目重构一下,放到云平台上。不过既然都是云平台了,肯定会有各种支撑服务,就譬如说缓存中心,日志中心,监控中心,权限管理中心等等,但是这些功能,在别的项目中也可以用到,这就带来一些不必要的麻烦。
这时候,就推荐使用maven来统一管理了。
前些日子,趁着毕业生创业指导开课的时候,我把缓存中心敲完了。然后将他部署到maven中央仓库。下面我就来分享一下部署到中央仓库的那些坑🕳。
部署到中央仓库
准备工作
打开浏览器, sonatype 官网,这个地址,注册一个账号,并且记住用户名密码
下载好
git
客户端
提交issue
在 https://issues.sonatype.org/secure/CreateIssue.jspa?issuetype=21&pid=10134 中新建一个“Project ticket”。
下面引以下Spiderman.L大佬博客上的图片(太懒了不想重新填一遍),照着这个步骤来。
点击Create
之后,你就会进入一个 jira
页面(sonatype 使用jira 来追踪每一个项目进度),与此同时你注册时使用的邮箱中也会收到一封邮件提示你,任务创建成功,正在等待处理。
等待时间
创建完毕后就等待一段时间,刷新页面。当状态变为“resolved”
,然后你就可以使用maven
上传项目了。或者就等着接收 sonatype
的反馈邮件,确认已经为你创建好了新项目
回复commit
发布完后,可能几分钟,也可能几小时,会有工作人员问你是否有Group Id对应的那个域名的所有权,如果有的话就回复有,并且按照他说的三个方法来(下图为参考语句),然后就会得到Configuration has been prepared的回复,这个时候就可以准备发布了。
我用的是第一个方法,因为我的域名是从阿里云上买的,我在阿里云平台的域名管理中心处,添加了一个TXT记录到这个ticket
上,这样他会自己检测。
当然了,如果自己没有域名的话可以挂在开源的域名下面,例如com.github.tengshe789,这样一样可以发布。
最差的方法,就是用个人域名邮箱发送给他邮件。
获得部署权限
做完上一步,他会在美国工作日时间里回复部署的相关信息,如图:
当我们的ticket
最终状态变为Resolved
的时候,表示我们有权限可以上传东西了。
maven本地设置
找到你安装maven的目录下面,打开maven目录\conf\settings.xml
文件。在servers
标签中填写如下信息
1 | <servers> |
java程序pom.XML设置
按照下面代码添加。
1 | <scm> |
这些地址填的是你github上的地址。
1 | <distributionManagement> |
这些地址直接复制上就行。
1 | <build> |
下面地址是通用的插件和profiles配置,不能少,按照需求来设置。有能力的同学自己研究一下。
使用gpg生成密钥
打开git窗口,输入gpg --gen-key
。这时候会出现一大片英文,看不懂的同学不要紧,跟着我做就行。
1 | gpg --list-keys |
这个命令是查看自己key的编号。找到 pub对应的那个编号,例如pub 2048R/8C473F5C
上传到key验证库:
1 | gpg --keyserver hkp://keyserver.ubuntu.com:11371 --send-keys 8C473F5C |
maven命令
打开idea,找到下面的终端,输入maven命令。
1 | mvn clean deploy -P sonatype-oss-release -Darguments="gpg.passphrase=设置gpg设置密钥时候输入的Passphrase" |
参考资料
https://www.cnblogs.com/aimqqroad-13/p/9645776.html
https://blog.csdn.net/sun5769675/article/details/78519948
https://www.jianshu.com/p/bb930e9ad5f4
结束
【版权申明】此片为原创内容,使用 CC BY-NC-SA 3.0授权条款,请遵守对应的义务,即被授权人有义务在所有副本中都必须包含版权声明。谢谢合作~
想要解锁更多新姿势?请访问我的个人博客https://tengshe789.github.io/(😘