如何将自己的jar包发布到mavan中央仓库

Posted by 石玉军 on 2018-09-20

最近自己写了一个关于网关限流的插件,然后想着肯定会有很多兄弟也需要使用到,所以就想着把jar包上传到Maven的中央仓库上让大家可以更方便的使用

现在咱们来看一下这个流程是什么样的呢。

  1. 首先呢,你得去这个网站去注册一个账号https://issues.sonatype.org/secure/Dashboard.jspa
  2. 账号注册以后登录网站,点击上方导航条最显眼的那个create按钮,然后按照下图标示的进行填写信息
    1
    这里有一个小小的坑就是如果你没有域名的话groupId可以写com.github.你的github名或者io.github.你的github名。如果你写域名的话他会让你确认域名是不是你的。大家可以按照我的办法在你的网站做一个简单的转发,转发的地址就是你要上传的项目的github地址。
    1
    另外需要注意的是因为人家上班时间是我们的晚上,所以说如果不想等的时间长的话可以晚上操作。
  3. 当你看到你的项目状态变成了RESOLVED时并且有一条评论是这样的时候你就已经成功了一半了。
    1
  4. 接下来呢,去这个网站https://www.gpg4win.org/下载一个gpg
  5. 在你的Maven的seeting.xml中增加以下配置
1
2
3
4
5
6
7
8
9
10
11
12
<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>

在项目的pom文件中增加配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<name>syj-ratelimit</name>
<description>a project about ratelimit</description>
<url>http://zhixiang.org.cn</url>
<licenses>
<license>
<name>The ApacheSoftware License, Version 2.0</name>
<url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
<distribution>repo</distribution>
</license>
</licenses>
<scm>
<tag>master</tag>
<url>https://github.com/2388386839/syj-ratelimit.git</url>
<connection>scm:git:https://github.com/2388386839/syj-ratelimit.git</connection>
<developerConnection>scm:git:https://github.com/2388386839/syj-ratelimit.git</developerConnection>
</scm>
<developers>
<developer>
<name>ShiYuJun</name>
<email>zxservice@zhixiang.org.cn</email>
<organization>xxx</organization>
</developer>
</developers>


<parent>
<groupId>org.sonatype.oss</groupId>
<artifactId>oss-parent</artifactId>
<version>7</version>
</parent>
  1. 在项目中执行命令:
1
gpg --gen-key

在执行命令的时候会让你输入一些信息,按照提示输入就行。记住其中的passphrase就行了。

  1. 然后执行命令
1
mvn clean deploy -P sonatype-oss-release -Darguments="gpg.passphrase=刚才让你记住的东西"
  1. 这个时候你的jar包已经上传到了maven的一个仓库,不过别人还不能用。

  2. 这个时候你应该把你刚才用来加密的密钥上传到一个公共的地方供别人来校验

    执行命令 gpg --list-keys
    然后你会看到有一个pub的值,大概是这样的CE2DF6AC
    然后执行下方命令

1
gpg --keyserver hkp://keyserver.ubuntu.com:11371 --send-keys pub CE2DF6AC
  1. 访问地址https://oss.sonatype.org/#stagingRepositories,用你一开始的时候注册的用户名登录。在最下方应该能找到你刚刚提交的jar包。
  2. 选择之后先close,close之后如果没问题的话接着点击release。当然,如果有问题的话可能就是你上传过程中出现了什么问题,如果解决不了欢迎在博客下方提问。
  3. 此时在访问https://issues.sonatype.org/secure/Dashboard.jspa会发现多了一条评论
    1


    现在大功告成。全世界的开发者都可以在maven中引入你的jar包了

欢迎来我的github看一下我的第一个开源项目写的如何https://github.com/2388386839/syj-ratelimit

本文出自http://zhixiang.org.cn,转载请保留。