Github上的工程上传到公共Maven仓库

文章目录

  • Github上的工程上传到公共Maven仓库
          • 在Github上创建一个工程
          • 在issues上创建工单
            • 创建账号
            • 创建工单
          • 上传jar到公共Maven库
            • Mac电脑安装GnuPG
            • 修改maven的settings.xml文件
            • 修改工程中的pom.xml文件
            • 打包上传
          • 发布

Github上的工程上传到公共Maven仓库

本文是针对的没有自己的域名,通过Github的渠道来上传至公共Maven仓库。有自己的域名的不在本文介绍范围。

在Github上创建一个工程

首先要在github上创建一个工程。注意,可见范围要选择为Public,需要审核人员能够访问这个地址。
Github上的工程上传到公共Maven仓库_第1张图片
然后,再完善这个Maven工程。
Github上的工程上传到公共Maven仓库_第2张图片
注意,建议使用com.github.[username]或者io.github.[username],其中[username]是你在github上的username。Github上的工程上传到公共Maven仓库_第3张图片
至此,在Github上的工作已经完成。

在issues上创建工单
创建账号

如果在issues上没有账号,可以去申请注册issues,需要注意的是,用户名建议使用全英文,不要有中文字符。
Github上的工程上传到公共Maven仓库_第4张图片

创建工单

按需要填写工单表格即可
Github上的工程上传到公共Maven仓库_第5张图片Github上的工程上传到公共Maven仓库_第6张图片
Github上的工程上传到公共Maven仓库_第7张图片
填写完成之后,等待管理员审批即可,等待状态变成RESOLVED
Github上的工程上传到公共Maven仓库_第8张图片

上传jar到公共Maven库
Mac电脑安装GnuPG

我的系统是MacOS的,使用brew进行安装

brew install gpg

安装完成后,使用gpg --version查看是否安装成功
Github上的工程上传到公共Maven仓库_第9张图片
使用gpg --gen-key生成密钥对
Github上的工程上传到公共Maven仓库_第10张图片
生成过程中,需要设置一个密码管理密钥,这个密码需要记录下来,以后使用的时候,是需要这个密码的。
使用gpg --list-keys查看公钥
Github上的工程上传到公共Maven仓库_第11张图片
将公钥发布到 PGP 密钥服务器,我上传了2个服务器(keys.gnupg.net和keyserver.ubuntu.com),其中708BA29F9107359C8CD3F1C1AE09D627E10FDC2D是用户ID。

gpg --keyserver keys.gnupg.net --send-keys 708BA29F9107359C8CD3F1C1AE09D627E10FDC2D
gpg --keyserver keyserver.ubuntu.com --send-keys 708BA29F9107359C8CD3F1C1AE09D627E10FDC2D

注意,可能会失败,报如下错误,此时不用紧张,先ping keys.gnupg.net服务器,然后将服务器地址换成IP即可
在这里插入图片描述在这里插入图片描述
验证是否上传成功在这里插入图片描述

修改maven的settings.xml文件

在maven的settings.xml文件中增加如下内容。其中,[username]和[password]中填写的是你在issues中的注册账号和密码。

<servers> 
        <server> 
            <id>snapshotsid> 
            <username>[username]username> 
            <password>[password]password> 
        server>
    servers>
修改工程中的pom.xml文件

如图,id是maven的配置文件settings.xml中的id。

<distributionManagement>
	<snapshotRepository>
	    <id>snapshots</id>
	    <url>https://oss.sonatype.org/content/repositories/snapshots/</url>
	</snapshotRepository>
	<repository>
	    <id>snapshots</id>
	    <url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url>
	</repository>
</distributionManagement>

附上上传源码到仓库中的maven插件。

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-source-plugin</artifactId>
    <version>3.0.1</version>
    <executions>
        <execution>
            <phase>package</phase>
            <goals>
                <goal>jar-no-fork</goal>
            </goals>
        </execution>
    </executions>
</plugin>
打包上传

使用命令打包上传。

 mvn clean package deploy -Dmaven.test.skip=true

打包上传的过程中,签名的时候,mac下可能会报错,如下图所示:Github上的工程上传到公共Maven仓库_第12张图片
此时,需要在~/.gnupg文件夹下新增或者修改2个文件。
gpg.conf

use-agent
pinentry-mode loopback

gpg-agent.conf

allow-loopback-pinentry
发布

访问https://oss.sonatype.org/#stagingRepositories,拉到最下方,可以看见你的提交记录
Github上的工程上传到公共Maven仓库_第13张图片
选择上方的Close,稍等片刻他先检查一下你上传的东西是否符合规范,检查完毕后该条状态被标记为closed,
此时选中后点上面的Release即可。
然后,找到你的issues,回复审核员说你已经打包上传了,等几小时,就可以在公共maven库中找到你的jar了
Github上的工程上传到公共Maven仓库_第14张图片

你可能感兴趣的:(Maven)