上传自己的jar包到maven中央仓库的快速操作方法

网友投稿 1732 2022-12-17

上传自己的jar包到maven中央仓库的快速操作方法

上传自己的jar包到maven中央仓库的快速操作方法

目录(一)概述(二)注册jira(三)发布申请(四)发布项目4.1 安装配置gpg4.2 配置maven的setting.xml4.3 配置pom文件4.4 打包上传(五)发布(六)总结

(一)概述

现在网络上已经有不少上传jar包至中央仓库的教程,但是我搜了一大圈之后发现当时的做法目前并不适用,因此决定自己写下上传jar包至中央仓库的方式,写这篇文章的时间是2021年8月18日。

(二)注册jira

本文档通过sonatype上传jar包至maven中央仓库,Sonatype通过JIRA来管理OSSRH仓库,因此首先注册jira账号

https://issues.sonatype.org/secure/Signup!default.jspa

(三)发布申请

jira创建完成后,我们需要提一个上传jar包的申请:

https://issues.sonatype.org/secure/CreateIssue.jspa?issuetype=21&pid=10134

其中概要和描述可以自己随便写一点关于要上传项目的详情,groupId填写自己的域名,如果没有的话可以填io.github.[你的github账户名],另外两个必填项填写项目的git地址

创建完成之后,会有人对你的请求做处理,并在注释中给出意见,如果通过的话,这个问题的状态就会变成已解决

(四)发布项目

当请求通过后,处理人员会发过来处理成功的消息,同时会带上发布项目的教程地址:

https://central.sonatype.org/publish/publish-guide/#deployment

虽然这个教程中贴上了很详细的过程,但是因为全英文,而且还有点乱,因此我在这篇文章中发布一次

4.1 安装配置gpg

发布到Maven仓库中的所有文件都要使用GPG签名,以保障完整性,因此我们需要先创建GPG,-GPG

https//gnupg.org/download/

安装过程就一路next就行,安装完成之后在命令行输入gpg --version,如果弹出具体的版本号就说明安装成功。

通过gpg --gen-key命令生成密钥,期间会输入用户名、邮箱和密码,记住自己的密码。

生成之后通过gpg --list-keys查看密钥,pub下的一连串字符就是公钥,将这串公钥发布到密钥服务器:

gpg --keyserver keyserver.ubuntu.com --send-keys 你的密钥

发送完成后提示发送成功

4.2 配置maven的setting.xml

setting.xml是maven的配置文件,放在本地,你可以通过idea的setting找到当前项目对应的setting.xml文件路径

部署ossrh身份认证信息:

ossrh

your-jira-id

your-jira-pwd

至此,setting.xml配置就结束了

4.3 配置pom文件

接下来配置项目的pom文件:

首先填写项目相关的信息,比如groupId,developers等等,这一块每个人都不同,这里就不做过多讲解,注意!groupId必须和你提交jira时填写的一样,不然怎么都传不上去。下面仅供参考:

io.github.oliverliy

fast-sso

0.0.1

pom

fast-sso

https://github.com/OliverLiy/fast-sso

一个可快速接入的sso项目

Apache License, Version 2.0

http://apache.org/licenses/LICENSE-2.0.txt

repo

A business-friendly OSS license

https://github.com/OliverLiy/fast-sso

https://github.com/OliverLiy/fast-sso.git

fast-sso-client

fast-sso-server

fast-sso-example

javayz

javayz

974474148@qq.com

Developer

+8

2.2.0.RELEASE

UTF-8

UTF-8

1.8

配置distributionManagement,自 2021 年 2 月起,所有的新项目都配置在https://s01.oss.sonatype.org/上,因此下面的配置在一些2021年之前的博客中都是不一样的。

ossrh

https://s01.oss.sonatype.org/content/repositories/snapshots

ossrh

https://s01.oss.sonatype.org/service/local/staging/deploy/maven2/

接着配置打包插件、 javadoc 和源 Maven 插件、Maven GPG 插件

org.sonatype.plugins

nexus-staging-maven-plugin

1.6.7

true

ossrh

https://s01.oss.sonatype.org/

true

org.apache.maven.plugins

maven-source-plugin

2.2.1

attach-sources

jar-no-fork

org.apache.maven.plugins

maven-javadoc-plugin

2.9.1

-Xdoclint:none

attach-javadocs

jar

org.apache.maven.plugins

maven-gpg-plugin

1.5

sign-artifacts

verify

sign

最后提供一份完整的pom.xml

xmlns:xsi="http://w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

4.0.0

io.github.oliverliy

fast-sso

0.0.1

pom

fast-sso

https://github.com/OliverLiy/fast-sso

一个可快速接入的sso项目

Apache License, Version 2.0

http://apache.org/licenses/LICENSE-2.0.txt

repo

A business-friendly OSS license

https://github.com/OliverLiy/fast-sso

https://github.com/OliverLiy/fast-sso.git

fast-sso-client

fast-sso-server

fast-sso-example

javayz

javayz

974474148@qq.com

Developer

+8

2.2.0.RELEASE

UTF-8

UTF-8

1.8

default

true

ossrh

https://s01.oss.sonatype.org/content/repositories/snapshots

ossrh

https://s01.oss.sonatype.org/service/local/staging/deploy/maven2/

org.sonatype.plugins

nexus-staging-maven-plugin

1.6.7

true

ossrh

https://s01.oss.sonatype.org/

true

org.apache.maven.plugins

maven-source-plugin

2.2.1

attach-sources

jar-no-fork

org.apache.maven.plugins

maven-javadoc-plugin

2.9.1

-Xdoclint:none

attach-javadocs

jar

org.apache.maven.plugins

maven-gpg-plugin

1.5

sign-artifacts

verify

sign

xmlns:xsi="http://w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

4.0.0

io.github.oliverliy

fast-sso

0.0.1

pom

fast-sso

https://github.com/OliverLiy/fast-sso

一个可快速接入的sso项目

Apache License, Version 2.0

http://apache.org/licenses/LICENSE-2.0.txt

repo

A business-friendly OSS license

https://github.com/OliverLiy/fast-sso

https://github.com/OliverLiy/fast-sso.git

fast-sso-client

fast-sso-server

fast-sso-example

javayz

javayz

974474148@qq.com

Developer

+8

2.2.0.RELEASE

UTF-8

UTF-8

1.8

default

true

ossrh

https://s01.oss.sonatype.org/content/repositories/snapshots

ossrh

https://s01.oss.sonatype.org/service/local/staging/deploy/maven2/

org.sonatype.plugins

nexus-staging-maven-plugin

1.6.7

true

ossrh

https://s01.oss.sonatype.org/

true

org.apache.maven.plugins

maven-source-plugin

2.2.1

attach-sources

jar-no-fork

org.apache.maven.plugins

maven-javadoc-plugin

2.9.1

-Xdoclint:none

attach-javadocs

jar

org.apache.maven.plugins

maven-gpg-plugin

1.5

sign-artifacts

verify

sign

4.4 打包上传

最后一步就比较简单了,在当前目录下执行deploy命令

mvn clean deploy

稍等片刻,提示build success后即表示打包成功

(五)发布

上面执行完成之后,登陆nexus:https://s01.oss.sonatype.org/#stagingRepositories,登上jira账号之后就能看到我们刚刚发布的内容

选中后点击上方的Close,他会检测你的jar包是否存在问题,如果存在问题,点击下方的Activity即可查看具体的问题,主要影响release的问题大部分都是打包时漏了一些东西,照着问题修复即可。

检测完成后上方的release就会变成可点击的状态,点击release后,你会收到一份邮件

邮件的意思是大概30分钟可以同步到maven仓库,大概4个小时可以在search.maven.org中搜到。现在我已经能在中央仓库看到自己的jar包了。你的jar包就能被别人使用了。

(六)总结

为什么要捣鼓这个东西呢?因为最近正在写一个有关统一认证的开源项目,需要上传jar包至中央仓库。这个开源项目的目的是为了能让项目通过简单的一些配置就可以快速接入统一认证系统,因此我给这个项目取名fast-sso,之后会发一个初始版本出来。我是鱼仔,我们下期再见!

到此这篇关于上传自己的jar包到maven中央仓库的快速操作方法的文章就介绍到这了,更多相关jar包上传maven中央仓库内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:解决springboot 无法配置多个静态路径的问题
下一篇:spring boot如何使用POI读取Excel文件
相关文章

 发表评论

暂时没有评论,来抢沙发吧~