欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

【记】 将jar包发布到maven*仓库

程序员文章站 2024-02-03 20:14:40
...

参考链接: 如何使用maven打包并发布到*服务器

打包到*服务器主要分为以下的步骤, 
- 创建工单 
- 生成密匙对 
- 设置Maven配置 
- 部署和发布Jar包 
- 更新Jar包

 

一、创建工单
我们需要在Sonatype网站上提交一个工单,首先去https://issues.sonatype.org/secure/Dashboard.jspa网站创建一个工单(Issues),如果没有账号就去注册一个账号,后面会用到用户名和密码。 
登录系统后,点击导航上面的Create按钮,创建一个工单。如图: 

【记】 将jar包发布到maven*仓库
填写详细的信息,在新增信息中有Project和Issue Type选项,这个就按默认的选择,Community Support - Open Source Project Repository Hosting (OSSRH)以及New Project。主要是指项目的支持更新方式和工单的类型,其次就选择Summary、Description、Group Id、Project URL、SCM url 等信息,这里主要是填写Jar包的大致摘要、描述、项目或者组织的唯一标志、工程的地址、管理工程的系统(比如git、svn等)

【记】 将jar包发布到maven*仓库

【记】 将jar包发布到maven*仓库

这里注意了Group Id这个一般是网址的地址,信息完成后,点击Create按钮,提交工单后,过一会就会有Sonatype系统会询问你地址是否是你的,这里需要去回答一下,这样一般2个小时就会通过了。可以参考一下我原来的工单https://issues.sonatype.org/browse/OSSRH-36043,回复一下

Hi,Thank you for your reply. xxx.xxx is my blog and I own the domain.

这里的xxx.xxx更改为上面的Group Id,就是指你的网址,也就是项目的父级地址。如果没有个人的网址,可以使用com.github.username。使用github上面的网址,username换为你自己的名称即可。

【记】 将jar包发布到maven*仓库

【记】 将jar包发布到maven*仓库

当你的工单的状态为RESOLVED的时候,就可以进行下一步的操作了。

【记】 将jar包发布到maven*仓库

注意:当你使用了某个域名后,比如net.anumbrella,则你下次使用时就不用再提交工单了,net.anumbrella.*的子域名都可以直接打包进行提交到*库。

 

二、生成密匙对

这里需要使用gpg来生成密匙对,如果是windows,这需要下载gpg4win,安装好就可以使用。下载地址 

安装好后使用gpg –version查看版本号。

gpg --version

然后执行gpg --gen-key生成**

gpg --gen-key

这里是采集密匙,输入用户名和邮箱,其他的值可以使用默认值,然后输入Passphrase的值,这个值需要记住,这个相当于**的密码,发布过程中进行签名操作的时候会用到。

上传GPG公钥

将公钥上传到公共的**服务器,这样其他人才可以通过公钥来验证jar包的完整性。

gpg --keyserver hkp://keyserver.ubuntu.com:11371 --send-keys CAB4165C69B699D989D2A62BD74A11D3F9F41243

其中CAB4165C69B699D989D2A62BD74A11D3F9F41243为**的ID,可以通过gpg –list-keys命令查看

gpg --list-keys

/Users/kiwenlau/.gnupg/pubring.kbx
----------------------------------
pub   dsa2048 2010-08-19 [SC] [expires: 2020-06-15]
      85E38F69046B44C1EC9FB07B76D78F0500D026C4
uid           [ unknown] GPGTools Team <aaa@qq.com>
sub   elg2048 2010-08-19 [E] [expires: 2020-06-15]
sub   rsa4096 2014-04-08 [S] [expires: 2024-01-02]

pub   rsa2048 2019-01-03 [SC] [expires: 2021-01-02]
      CAB4165C69B699D989D2A62BD74A11D3F9F41243
uid           [ultimate] kiwenlau <aaa@qq.com>
sub   rsa2048 2019-01-03 [E] [expires: 2021-01-02]

三、设置Maven配置
在项目的pom.xml文件中,加入如下配置:

 

    <name>projectName</name>
	<description>a project about projectName</description>
	<url>https://gitee.com/w-whf/xxxxx</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://gitee.com/w-whf/xxx.git</url>
		<connection>https://gitee.com/w-whf/xxx.git</connection>
		<developerConnection>https://gitee.com/w-whf/</developerConnection>
	</scm>
	<developers>
		<developer>
			<name>xxx</name>
			<email>aaa@qq.com</email>
		</developer>
	</developers>


	<parent>
		<groupId>org.sonatype.oss</groupId>
		<artifactId>oss-parent</artifactId>
		<version>7</version>
	</parent>


配置好项目的pom.xml文件后,然后就对Maven的settings.xml文件进行配置,在settings.xml文件中加入下面的配置:

<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>


username和password就是在Sonatype上注册的用户名和密码。

四、部署和发布Jar包

在配置好文件后,切换目录到项目的pom.xml目录下,然后执行如下命令:

mvn clean deploy -P sonatype-oss-release -Darguments="gpg.passphrase=配置gpg的密匙密码"

执行中还是要再输入passphrase密码,就是gpg密匙密码。如果没问题就可以得到后面的结果,如下: 
【记】 将jar包发布到maven*仓库 

发布Jar包 
登录https://oss.sonatype.org/#stagingRepositories系统,输入Sonatype的账号和密码,然后查看提交上去的Jar包。 

【记】 将jar包发布到maven*仓库
然后依次点击上方的Close–>Confirm,这将会弹出类似于下面的对话框,在其中输入我们Jar包的描述信息,这个信息将会在Maven搜索结果当作简介介绍我们Jar包的,所以建议输的详细点。

 

【记】 将jar包发布到maven*仓库

当状态变成closed后,执行上方的Release–>Confirm,同样会弹出一个类似于上面的对话框,我们还是输入那些介绍信息即可,

【记】 将jar包发布到maven*仓库

当这步执行完之后,构件将会自动删除,我们可以在welcome搜索自己的groupId(如com.gitee.w-whf.xxx)查看文件 

【记】 将jar包发布到maven*仓库

并经过几小时后便可以在Maven*仓库搜索到(https://search.maven.org)。

【记】 将jar包发布到maven*仓库

我们也可以在http://repo1.maven.org/maven2/中找到具体的项目目录地址。

【记】 将jar包发布到maven*仓库

五、更新Jar包
当我们要更改了代码后,要升级版本,我们只需要更新项目工程代码,并修改pom.xml文件里面的版本号,最后重新执行上面的部署和发布Jar包步骤即可。

注意:1、groupId命名可使用com.github.username.xxx或com.gitee.username.xxx,至于其他我没试过

           2、项目的groupId要和工单的gorupId一致,否则打包过程中会出现ReasonPhrase: Forbidden.

           3、修改settings.xml时要修改maven自带的settings.xml文件,如D:/apache-maven-3.3.9/conf/settings.xml,否则打包过程中会出现Return code is: 401, ReasonPhrase: Unauthorized.