目的:把自己常用的工具类封装成包,并发布到maven仓库。
参考教程:掘金教程 medium教程 网友教程推荐
网址备份:

  • issue官网 我们要注册账号
  • OSS 这个网站主要是用来保存我们上传的jar包

准备

项目pom文件配置

  1. <!--将你项目的parent设置为sonatype,因为Maven项目具有继承性,所以这样做可以节省你的配置信息。-->
  2. <parent>
  3. <groupId>org.sonatype.oss</groupId>
  4. <artifactId>oss-parent</artifactId>
  5. <version>7</version>
  6. </parent>
  7. <!--添加licenses信息,根据你的开源协议自行选择-->
  8. <licenses>
  9. <license>
  10. <name>The Apache Software License, Version 2.0</name>
  11. <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
  12. <distribution>repo</distribution>
  13. </license>
  14. </licenses>
  15. <!--添加scm,这个scm就是你也源代码仓库的一些信息-->
  16. <scm>
  17. <tag>master</tag>
  18. <url>https://github.com/tianyunperfect/utils</url>
  19. </scm>
  20. <!--配置developers,根据你项目组的成员来添加-->
  21. <developers>
  22. <developer>
  23. <name>tianyunperfect</name>
  24. <email>tianyunperfect@gmail.com</email>
  25. </developer>
  26. </developers>
  27. <groupId>com.github.tianyunperfect</groupId>
  28. <artifactId>utils</artifactId>
  29. <version>1.0</version>

本地maven配置

  1. <servers>
  2. <server>
  3. <id>sonatype-nexus-snapshots</id>
  4. <username>Sonatype 账号</username>
  5. <password>Sonatype 密码</password>
  6. </server>
  7. <server>
  8. <id>sonatype-nexus-staging</id>
  9. <username>Sonatype 账号</username>
  10. <password>Sonatype 密码</password>
  11. </server>
  12. </servers>

GPG秘钥

如果是在 mac 上,可以直接用 homebrew 进行安装。
如果是 windows,可以去 https://www.gpg4win.org/ 下载

  1. # 生成秘钥,填写用户名,密码一定要记住
  2. gpg --gen-key
  3. # 查看秘钥
  4. $ gpg --list-keys
  5. gpg: checking the trustdb
  6. gpg: marginals needed: 3 completes needed: 1 trust model: pgp
  7. gpg: depth: 0 valid: 1 signed: 0 trust: 0-, 0q, 0n, 0m, 0f, 1u
  8. gpg: next trustdb check due at 2021-09-19
  9. /c/Users/1/.gnupg/pubring.kbx
  10. -----------------------------
  11. pub rsa2048 2019-09-20 [SC] [expires: 2021-09-19]
  12. E038DBBCB6CA48D8B154C7CA3F
  13. uid [ultimate] tianyun <tianyunperfect@gmail.com>
  14. sub rsa2048 2019-09-20 [E] [expires: 2021-09-19]
  15. E038DBBCB6CA48D8B154C7CA3A1267684C77BA9F
  16. # 发布秘钥,上面pub的部分
  17. gpg --keyserver hkp://keyserver.ubuntu.com:11371 --send-keys E038DBBCB6CA48D8B154C7CA3F

提交申请

创建issue

发布maven包 - 图1

  • Summary: 这里填写我们项目的名称
  • Description: 项目的描述信息,这个不是必填项,用户可以自行选择
  • Attachment: 这个配置与后面的Group Id有关,如果我们的Group Id中的域名是私有的网站,需要提供域名的证书,证明该网站属于你。我这里的Group Id使用的Github的域名,所以不需要提供。
  • Group Id: 根据实际情况填写。
  • Project URL: 你项目的主页,
  • SCM url: 这个填写你项目的Git地址
  • Username(s): 这个可以填写你Sonatype的用户名

有消息就会给我们发邮件的。

发布

  1. # 发布,会要求输入gpg密码
  2. mvn clean deploy -P sonatype-oss-release

再访问地址 https://oss.sonatype.org/#stagingRepositories, 用你一开始的时候注册的用户名登录。在最下方应该能找到你刚刚提交的jar包。
选择之后先close,close之后如果没问题的话接着点击release。