目的:把自己常用的工具类封装成包,并发布到maven仓库。
参考教程:掘金教程 medium教程 网友教程推荐
网址备份:
准备
项目pom文件配置
<!--将你项目的parent设置为sonatype,因为Maven项目具有继承性,所以这样做可以节省你的配置信息。-->
<parent>
<groupId>org.sonatype.oss</groupId>
<artifactId>oss-parent</artifactId>
<version>7</version>
</parent>
<!--添加licenses信息,根据你的开源协议自行选择-->
<licenses>
<license>
<name>The Apache Software License, Version 2.0</name>
<url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
<distribution>repo</distribution>
</license>
</licenses>
<!--添加scm,这个scm就是你也源代码仓库的一些信息-->
<scm>
<tag>master</tag>
<url>https://github.com/tianyunperfect/utils</url>
</scm>
<!--配置developers,根据你项目组的成员来添加-->
<developers>
<developer>
<name>tianyunperfect</name>
<email>tianyunperfect@gmail.com</email>
</developer>
</developers>
<groupId>com.github.tianyunperfect</groupId>
<artifactId>utils</artifactId>
<version>1.0</version>
本地maven配置
<servers>
<server>
<id>sonatype-nexus-snapshots</id>
<username>Sonatype 账号</username>
<password>Sonatype 密码</password>
</server>
<server>
<id>sonatype-nexus-staging</id>
<username>Sonatype 账号</username>
<password>Sonatype 密码</password>
</server>
</servers>
GPG秘钥
如果是在 mac 上,可以直接用 homebrew 进行安装。
如果是 windows,可以去 https://www.gpg4win.org/ 下载
# 生成秘钥,填写用户名,密码一定要记住
gpg --gen-key
# 查看秘钥
$ gpg --list-keys
gpg: checking the trustdb
gpg: marginals needed: 3 completes needed: 1 trust model: pgp
gpg: depth: 0 valid: 1 signed: 0 trust: 0-, 0q, 0n, 0m, 0f, 1u
gpg: next trustdb check due at 2021-09-19
/c/Users/1/.gnupg/pubring.kbx
-----------------------------
pub rsa2048 2019-09-20 [SC] [expires: 2021-09-19]
E038DBBCB6CA48D8B154C7CA3F
uid [ultimate] tianyun <tianyunperfect@gmail.com>
sub rsa2048 2019-09-20 [E] [expires: 2021-09-19]
E038DBBCB6CA48D8B154C7CA3A1267684C77BA9F
# 发布秘钥,上面pub的部分
gpg --keyserver hkp://keyserver.ubuntu.com:11371 --send-keys E038DBBCB6CA48D8B154C7CA3F
提交申请
创建issue
- Summary: 这里填写我们项目的名称
- Description: 项目的描述信息,这个不是必填项,用户可以自行选择
- Attachment: 这个配置与后面的Group Id有关,如果我们的Group Id中的域名是私有的网站,需要提供域名的证书,证明该网站属于你。我这里的Group Id使用的Github的域名,所以不需要提供。
- Group Id: 根据实际情况填写。
- Project URL: 你项目的主页,
- SCM url: 这个填写你项目的Git地址
- Username(s): 这个可以填写你Sonatype的用户名
有消息就会给我们发邮件的。
发布
# 发布,会要求输入gpg密码
mvn clean deploy -P sonatype-oss-release
再访问地址 https://oss.sonatype.org/#stagingRepositories, 用你一开始的时候注册的用户名登录。在最下方应该能找到你刚刚提交的jar包。
选择之后先close,close之后如果没问题的话接着点击release。