这篇文章主要介绍“发布jar到maven中央仓库的方法”,在日常操作中,相信很多人在发布jar到maven中央仓库的方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”发布jar到maven中央仓库的方法”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
必须步骤,去这个网址注册一个账号
https://issues.sonatype.org/secure/Signup!default.jspa
我们需要提交一个工单申请提交jar包的权限,所以必须创建一个账号提交工单,这个账号同样可以用sonatype的Nexus,我们通过Nexus最终发布到中央库。
登陆 issues.sonatype.org,点击顶部导航的new新建一个工单,按照下图填写
字段说明
Project: 选 Community Support - Open Source Project Repository Hosting
Type: 选 New Project
Summary: 主题,必填, 根据实际情况填写
Description: 描述,选填, 根据实际情况填写
Attachment: 附件,选填
Group Id: 项目的GroupId, 同pom.xml中的GroupId一致, 必填,没有的可以使用你的github
Project URL: 项目的url, 必填,如果项目代码在github上,一般填入项目的github url
SCM url:项目的代码地址,是可以用git clone下代码的地址,可以是github或国内的码云
Already Synced to Central: 是否已经同步到中央库,如果没有选No就可以了。
然后点【新建】提交,等待工作人员review。这时,工单的状态是Open, 如果提供的信息没有问题的话, 状态会从open变成resolved。 这个大概一两个小时就能得到回复。回复的内容一般就是需要验证groupid是属于你自己的域名。
回复内容如下:
根据回复,给域名添加一个txt记录是最快的方式,添加完给回复一下,大概不到10分钟官方人员就给处理了。
pom.xml中添加如下配置
<parent> <groupId>org.sonatype.oss</groupId> <artifactId>oss-parent</artifactId> <version>7</version> </parent> <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> <url>项目地址</url> <connection>项目地址</connection> <developerConnection>roseboy.net</developerConnection> </scm> <developers> <developer> <name>作者姓名</name> <email>作者邮箱</email> </developer> </developers>
在servies节点下添加以下代码:
<server> <id>sonatype-nexus-snapshots</id> <username>第一步注册的用户名</username> <password>第一步注册的密码</password> </server> <server> <id>sonatype-nexus-staging</id> <username>第一步注册的用户名</username> <password>第一步注册的密码</password> </server>
至此,跟maven有关的配置已经完成,但是现在还不能上传jar包,还需要配置gpg-key用来签名校验,防止坏人篡改你的jar包。
直接这个网址 https://www.gnupg.org/download/index.html 下载安装版,使用图形界面操作。 点击新建 ,填写 名字,邮箱,密码等生成key,完成会弹框询问是否上传,点击 上传按钮把公钥上传。
执行maven部署命令
mvn clean deploy -P sonatype-oss-release -Darguments="gpg.passphrase=密钥密码"
如果使用idea集成环境,按照下图操作,最后双击 deploy。
等到执行完成,这时,你的jar源码 ,生成的docjar,打包完的jar已经传到Nexus上了。
使用第一步注册的账号登陆以下网址,https://oss.sonatype.org/#stagingRepositories (左边 Build Promotion --> Staging Repositories) 查看,一般是最后一个,可以按时间倒弃查看,也可以通过右上角的搜索框查找。 此时的状态应该是open,选中构件, 点击上方的Close->Confirm,nexus会去做一些处理以及校验,如果校验失败,需要删除构件,修改后得新上传。
如果校验成功,选中构件,点击上方的Release->Confirm,发布成功后,状态会变成Releaed, 然后自动删除。
可以在页面左侧点击Advanced Search 查看,如果能搜到发布的模块,说明已经成功了。
通常10分钟内会发布到maven中央库,但如果更新到search.maven.org需要两个小时。如果在 https://mvnrepository.com/ 能搜到,需要1-2天的时间。
执行完之后maven delploy,还需要登录到Nexus等待校验完成再手动发布,这一步比较麻烦,可以使用插件来完成这些操作;
项目的pom.xml增加以下额配置:
<plugin> <groupId>org.sonatype.plugins</groupId> <artifactId>nexus-staging-maven-plugin</artifactId> <version>1.6.7</version> <extensions>true</extensions> <configuration> <serverId>sonatype-nexus-staging</serverId><!--这个是在setting.xml配置的用户名密码--> <nexusUrl>https://oss.sonatype.org/</nexusUrl> <autoReleaseAfterClose>true</autoReleaseAfterClose> </configuration> </plugin>
添加插件后,直接运行mvn deploy就可以发布到中央仓库,只是时间有点长。
到此,关于“发布jar到maven中央仓库的方法”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。