本文主要记录了「发布Java项目到Maven中央仓库」这一过程。大概分为以下步骤:
- 准备一个项目并发布到
github
上 - 去https://issues.sonatype.org建立工单
- 将项目发布到https://oss.sonatype.org
- 最后在https://search.maven.org/查询项目是否发布到Maven中央仓库
准备
首先,我们需要准备一个Java项目,最好是发布在代码托管平台上,比如github, gourpId
格式为com.github.<你的用户名>
,例如我的github帐号为lzj960515
,所以我的项目配置如下:
<groupId>com.github.lzj960515</groupId>
<artifactId>easycanal</artifactId>
<version>1.0.0</version>
<packaging>pom</packaging>
<name>${project.artifactId}</name>
<description>easycanal</description>
<url>https://github.com/lzj960515/easycanal</url>
因为最后发布项目时需要name、description、url这三样,所以这里也索性写上了。
建立工单
有了项目,我们还要去https://issues.sonatype.org建立工单,负责申请上传资格及完成第一次上传。
新建一个工单
注册并登陆到https://issues.sonatype.org,新建一个Issue
项目和问题类型如图所示
建立好后的样例如下:
处理工单
建立完之后底下将会有回应,情况如下:
-
最开始时会告诉你需要到github上建立一个与工单名相同的仓库,用来验证你是否为该项目的拥有者,建立好之后点击工单上的
respond
按钮。 -
再等一会就会告诉你可以发布到构件仓库了:https://oss.sonatype.org
-
发布之后添加一条评论,这时就会将发布好之后的jar包同步到中央仓库中,差不多需要等2个小时。
发布之后就可以在https://oss.sonatype.org看到相应的jar包了,两个小时后可以去https://search.maven.org/查找是否发送到Maven中央仓库(可能更久)
发布项目
上面记录了大致的流程,那么发布项目具体应该怎么做呢?
配置GPG密钥
因为我们需要通过maven-gpg-plugin
发布项目,所以首先我们需要生成一份自己的GPG密钥。
-
下载安装相关工具
进入下载地址并选择相应系统的工具:https://www.gnupg.org/download/
我这里是mac,下载内容如下图,第一个是可视化工具,第二个是真正生成密钥的安装包
-
生成密钥
打开
GPG Keychain
工具,点击新建,输入自己的相关信息后生成密钥 -
发送公钥到服务器
配置Maven
-
在Java项目的
pom.xml
中添加licenses
,scm
,developers
相关信息<licenses> <license>