实战Java发包到远程maven仓库

一、前言

Maven是一个Java项目的管理和构建工具,Maven 仓库是项目中依赖的第三方库,这个库所在的位置叫做仓库。

Maven中央仓库是由 Maven 社区提供的仓库,其中包含了大量常用的库。中央仓库包含了绝大多数流行的开源Java构件,当我们需要使用某个构建功能时,我们只需要在pom文件引入其maven坐标即可。

本文我们讲解如何把自己的jar发布到maven中央仓库里面,供外网其他用户使用。

注册Sonatype账号

登录 issues.sonatype.org/secure/Sign… 注册一个账号

创建一个issue

菜单栏->Create 弹出创建界面,Project选择Community Support - Open Source Project Repository Hosting (OSSRH) 。Issue Type选择 New Project。 Group Id填写maven坐标的Group Id。

注意:申请一个Group Id后,就可以发布不同的artifactId对应的jar。

发包

安装 gpg

brew install gnupg

创建并查看自己的 key

gpg --gen-key # 创建自己的key

gpg --list-secret-keys # 查看自己的key

推送key到签名服务器

gpg --keyserver keys.gnupg.net --send-keys xxxxx gpg --keyserver keys.gnupg.net --recv-keys xxxxx gpg --keyserver keyserver.ubuntu.com --send-keys xxxxx gpg --keyserver keyserver.ubuntu.com --recv-keys xxxxx

配置pom文件

在要发布的包的pom文件里面,添加如下插件:

               nexus-staging-maven-plugin                  true          https://s01.oss.sonatype.org/          ossrh                true        org.sonatype.plugins        1.6.7                    maven-compiler-plugin                  UTF-8          1.8          1.8                ${maven-compiler-plugin.version}                    maven-resources-plugin                  UTF-8                ${maven-resources-plugin.version}                    maven-source-plugin                                            jar                        attach-sources                          ${maven-source-plugin.version}                    maven-surefire-plugin                  true                org.apache.maven.plugins        ${maven-surefire-plugin.version}                    maven-jar-plugin                                            true                                      org.apache.maven.plugins        ${maven-jar-plugin.version}                    maven-javadoc-plugin                  UTF-8          UTF-8          UTF-8                      http://docs.oracle.com/javase/8/docs/api                    public                                                    jar                        attach-javadoc                          org.apache.maven.plugins        ${maven-javadoc-plugin.version}                    maven-gpg-plugin                                                            --pinentry-mode                loopback                                                    sign                        sign-artifacts            verify                          org.apache.maven.plugins        ${maven-gpg-plugin.version}          复制代码

执行发布命令

切换到要发的包的目录,执行: mvn clean deploy -Dgpg.passphrase=自己的gpg的密码

等待发布完毕,之后24小时后,会在mvnrepository.com/repos/centr… 搜到自己的包。

发表评论
留言与评论(共有 0 条评论) “”
   
验证码:

相关文章

推荐文章