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

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

  1. 首先呢,你得去这个网站去注册一个账号https://issues.sonatype.org/secure/Dashboard.jspa
  2. 账号注册以后登录网站,点击上方导航条最显眼的那个create按钮,然后按照下图标示的进行填写信息

    这里有一个小小的坑就是如果你没有域名的话groupId可以写com.github.你的github名或者io.github.你的github名。如果你写域名的话他会让你确认域名是不是你的。大家可以按照我的办法在你的网站做一个简单的转发,转发的地址就是你要上传的项目的github地址。

    另外需要注意的是因为人家上班时间是我们的晚上,所以说如果不想等的时间长的话可以晚上操作。
  3. 当你看到你的项目状态变成了RESOLVED时并且有一条评论是这样的时候你就已经成功了一半了。
  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. 在项目中执行命令:gpg --gen-key,在执行命令的时候会让你输入一些信息,按照提示输入就行。记住其中的passphrase就行了。

  2. 然后执行命令 mvn clean deploy -P sonatype-oss-release -Darguments=“gpg.passphrase=刚才让你记住的东西”

  3. 这个时候你的jar包已经上传到了maven的一个仓库,不过别人还不能用。

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

    执行命令 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会发现多了一条评论

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

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

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

如何将自己的jar包发布到mavan中央仓库的更多相关文章

  1. 如何将JAR包发布到Maven中央仓库?

    将jar包发布到Maven中央仓库(Maven Central Repository),这样所有的Java开发者都可以使用Maven直接导入依赖,例如fundebug-java: <!-- ht ...

  2. 将jar包发布到maven中央仓库

    将jar包发布到maven中央仓库 最近做了一个swagger-ui的开源项目,因为是采用vue进行解析swagger-json,需要前端支持,为了后端也能方便的使用此功能,所以将vue项目编译后的结 ...

  3. 贡献你的代码,将jar包发布到Maven中央仓库以及常见错误的解决办法

    前几天将自己的日志工具发布到了Maven中央仓库中.这个工具本省没有多少技术含量,因为是修改别人的源代码实现的,但是将jar发布到Maven仓库却收获颇丰,因为网上有些教程过时了,在此分享下自己发布j ...

  4. Dev 日志 | 如何将 jar 包发布到 Maven 中央仓库

    摘要 Maven 中央仓库并不支持直接上传 jar 包,因此需要将 jar 包发布到一些指定的第三方 Maven 仓库,比如:Sonatype OSSRH 仓库,然后该仓库再将 jar 包同步到 Ma ...

  5. 将自己的项目作为jar包发布到maven中央仓库

    maven版本是3.5.0,jdk是1.8(注意,不是说项目是1.8就行,必须是环境变量里的也是,不能超过1.8,否则一大堆问题,执行mvn前用javac -version看下版本) 一:先在sona ...

  6. 解决Maven本地仓库没有Jar包问题,请求中央仓库自动下载以及手动下载方法

    一.首先指定本地仓库 <localRepository>D:\software\Maven_Home\mvn_repository</localRepository> 二.修改 ...

  7. 将个人项目发布到mavan中央仓库

    第一步,准备自己的git代码 比如在gitee或者github上的代码,我的是gitee码云上的,开源了一个处理业务日志采集的组件,支持注解方式,支持SpEL表达式,支持变量自定义. 话不多说,直接上 ...

  8. 设置将Maven的jar包发布到lib

    2,设置将Maven的jar包发布到lib下. Add -> Java Build Path Entries -> Maven Dependencies -> Finish 设置完成 ...

  9. 将jar包发布到maven的中央仓库细节整理

    在学习springboot框架的时候,会引入各种各样的starter依赖,照着教程尝试写了个demo-spring-boot-stater,可以理解为一个组件,随引随用 但是只能自己引用,无法共享,于 ...

随机推荐

  1. 十六、IDEA创建一个maven工程

    1.点击Create new Project 2.选择maven,使用的jdk,点击next; 3.填写GroupId和工程名,点击next; 4.默认不做其他修改,点击Finish; 5.创建成功

  2. Mybatis order by语句使用<Choose><When>动态拼装无效的原因及解决方法

    在使用 <choose> <when test=""> </when> <otherwise> </otherwise> ...

  3. boost asio死锁一例

    socket close -> sendmessage -> io_service stop 先关闭socket句柄,再给windows窗口发送消息,然后io_service停止. 当se ...

  4. select2插件用法

    1.修改默认查询方法,使其可以根据value查询 this.element.select2({ allowClear: true, matcher: function (term, text, ele ...

  5. 关于CDN与缓存(浏览器和CDN)

    本文目录:一.引入 二.CDN定义 三.关于缓存 四.浏览器缓存 一.引入 客户端直接从源站点获取数据,当服务器访问量大时会影响访问速度,进而影响用户体验,且无法保证客户端与源站点间的距离足够短,适合 ...

  6. [Hbase]Hbase章4 Hbase分区爆了

    又搞事了,发生了啥事呢:生产分区数暴了,What? 目前的情况: 前提:单Region Server分区上限设置为1000: 目前A表的数据量半年达到25E,20G一分区,达到了900多个分区,这是要 ...

  7. Object.defineProperty(obj,prop,descriptor)使用

    初步实现了数据自动映射到html中,动态修改对象数据也很自动更新到html.提供addProps方法-添加新增属性并初始化自动监听代码如下: 1.abserve.js:包含数据监听实现.类似jquer ...

  8. Navicat Premium 出现2059错误解决办法

    1,登陆后可查询默认加密规则,键入 use mysql; select user,plugin from user where user ='root'; 解决办法: 1,更新用户密码:ALTER U ...

  9. Asp.Net项目与TCP服务端交互

    private void SocketSend(string sendstr) { //将字符串转换成字节数组 Byte[] fsSize = System.Text.Encoding.Default ...

  10. JS獲取URL的參數

    function GetQueryString(name) { var reg = new RegExp("(^|&)"+ name +"=([^&]*) ...