如何发布jar包到maven中央仓库(2024年6月最新版含如何对原Jira系统内数据进行迁移)

本文主要是介绍如何发布jar包到maven中央仓库(2024年6月最新版含如何对原Jira系统内数据进行迁移),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1.准备工作

1.1 进入系统注册账号

https://central.sonatype.com/

点击右上角 Sign-in登录

如果是首次登陆,需要点击Sign-Up注册账号

2.命名空间管理

2.1 注册Namespaces

点击右上角自己的账号->选中View Namespaces

进入命名空间列表后,点击Add Namespace,然后输入自己的命名空间名称

注:此处的命名空间名称对应的是自己项目里的GroupId

如果命名空间是之前JIRA系统存在,则参考第4章请求官方协助数据迁移。

2.2 校验Namespaces

按照提示完成域名身份校验

To prove the ownership of this Namespace, a DNS TXT Record is required with the same value that matches its Verification Key(ticket-123).For the Namespace org.spring.io you will need to create TXT Record:

ticket-123

Domain Registrars services have different procedures for adding a TXT Record, please check your registers documentation to find out how to add a TXT Record.

注意:此处添加TXT记录时,主机记录为:@,记录值为:ticket-123

添加成功后,打开如下地址验证域名baidu.com*(改成你自己的域名)*

https://www.whatsmydns.net/dns-lookup/txt-records?query=baidu.com&server=google

如果DNS记录可以查到,说明配置成功,就可以完成校验

TXT records for baidu.com:

RecordTypeValueTTL
baidu.comTXT“ticket-123”499

3.Maven发布

3.1 启用Token用户

选择 View Account,然后点击Generate User Token,即可生成maven发布专用用户。

3.2 GPG证书申请

参考文章

3.3 Maven pom 添加配置 (以Github Action方式正常运行)

<profiles><profile><id>release</id><build><plugins><plugin><groupId>org.sonatype.central</groupId><artifactId>central-publishing-maven-plugin</artifactId><version>0.5.0</version><extensions>true</extensions><configuration><publishingServerId>central</publishingServerId><autoPublish>true</autoPublish></configuration></plugin><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-source-plugin</artifactId><version>3.3.0</version><executions><execution><id>attach-sources</id><phase>verify</phase><goals><goal>jar-no-fork</goal></goals></execution></executions></plugin><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-javadoc-plugin</artifactId><version>3.6.3</version><executions><execution><id>attach-javadoc</id><goals><goal>jar</goal></goals></execution></executions><configuration><stylesheet>java</stylesheet><doclint>none</doclint></configuration></plugin><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-gpg-plugin</artifactId><version>3.1.0</version><executions><execution><id>sign-artifacts</id><phase>verify</phase><goals><goal>sign</goal></goals></execution></executions><configuration><gpgArguments><arg>--pinentry-mode</arg><arg>loopback</arg></gpgArguments></configuration></plugin></plugins></build></profile></profiles><build><plugins><plugin><groupId>org.sonatype.central</groupId><artifactId>central-publishing-maven-plugin</artifactId><version>0.5.0</version><extensions>true</extensions><configuration><publishingServerId>central</publishingServerId><autoPublish>true</autoPublish></configuration></plugin></plugins></build>

3.4 Github Action脚本

name: Publish package to the Maven Central Repository
on:release:types: [created]
jobs:publish:runs-on: ubuntu-lateststeps:- uses: actions/checkout@v4- name: Set up Maven Central Repositoryuses: actions/setup-java@v4with:java-version: '8'distribution: 'temurin'server-id: centralserver-username: MAVEN_USERNAMEserver-password: MAVEN_PASSWORDgpg-private-key: ${{ secrets.GPG_SECRET }}gpg-passphrase: MAVEN_GPG_PASSPHRASE- name: Publish packagerun: mvn -P release --batch-mode deploy -DskipTestsenv:MAVEN_USERNAME: ${{ secrets.OSSRH_USER }}MAVEN_PASSWORD: ${{ secrets.OSSRH_PASSWORD }}MAVEN_GPG_PASSPHRASE: ${{ secrets.GPG_PASSWORD }}

Github Action secrets 如何使用请自行度娘。

4.JIAR 数据迁移

4.1 使用邮箱注册账号

如果你还记得JIRA注册时使用的邮箱,可以使用该邮箱联系central-support@sonatype.com

如果不记得JIRA注册时使用的邮箱,则需要使用已经注册的新账号绑定的邮箱联系官方通过DNS方式验证身份后,官方会协助迁移通过DNS验证的域名。

4.2 协助沟通邮件记录(新邮箱)

确认自己身份,请求协助

I’M authorized publisher. , but my old email : xxx can’t login.

I have login in new system by username & password ,

can provide other ways to check authorized publisher. ,eg: doamin add txt record

you can provide String code , I Add txt record to config.

获得官方回复

Hello,

Can you do the following:

  • Create a user for xxx on https://central.sonatype.com/
  • add the Domain TXT record ticket-12345 to com.baidu

此处com.baidu就是之前JIRA系统申请GroupId时使用的域名,新系统只需要注册一次即可,不用每个GroupId单独申请

Regards,
The Central Team

接下来我们只需要按照2.2章节配置DNS,然后给官方发送邮件

hello ,Try again

I have correctly configured the domain name Txt record for :baidu.com

https://www.whatsmydns.net/dns-lookup/txt-records?query=baidu.com&server=google

接下来我们就等候官方回复邮件

Hello ,

Apologies for the confusion, we are up to date on the thread.

We migrated your namespace as requested:

  • your user account on s01.oss.sonatype.org can no longer be used to create deployments for the com.baidu namespace
  • your account on central.sonatype.com associated with 你的新邮箱 has been updated to include the com.baidu namespace

Please login to Central Portal and confirm you see com.baidu as verified under your list of namespaces. After this you could follow the publishing instructions in our documentation to publish your components.

If you have any other question please feel free open a new request.

Thank you,
The Central Team

看到这个邮件后,我们就可以使用新账号登录新系统,然后看到对应的namespace官方已经帮我们

迁移到新账号下面了。

这篇关于如何发布jar包到maven中央仓库(2024年6月最新版含如何对原Jira系统内数据进行迁移)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1079007

相关文章

SpringBoot多环境配置数据读取方式

《SpringBoot多环境配置数据读取方式》SpringBoot通过环境隔离机制,支持properties/yaml/yml多格式配置,结合@Value、Environment和@Configura... 目录一、多环境配置的核心思路二、3种配置文件格式详解2.1 properties格式(传统格式)1.

解决pandas无法读取csv文件数据的问题

《解决pandas无法读取csv文件数据的问题》本文讲述作者用Pandas读取CSV文件时因参数设置不当导致数据错位,通过调整delimiter和on_bad_lines参数最终解决问题,并强调正确参... 目录一、前言二、问题复现1. 问题2. 通过 on_bad_lines=‘warn’ 跳过异常数据3

Python进行JSON和Excel文件转换处理指南

《Python进行JSON和Excel文件转换处理指南》在数据交换与系统集成中,JSON与Excel是两种极为常见的数据格式,本文将介绍如何使用Python实现将JSON转换为格式化的Excel文件,... 目录将 jsON 导入为格式化 Excel将 Excel 导出为结构化 JSON处理嵌套 JSON:

Linux系统中查询JDK安装目录的几种常用方法

《Linux系统中查询JDK安装目录的几种常用方法》:本文主要介绍Linux系统中查询JDK安装目录的几种常用方法,方法分别是通过update-alternatives、Java命令、环境变量及目... 目录方法 1:通过update-alternatives查询(推荐)方法 2:检查所有已安装的 JDK方

Linux系统之lvcreate命令使用解读

《Linux系统之lvcreate命令使用解读》lvcreate是LVM中创建逻辑卷的核心命令,支持线性、条带化、RAID、镜像、快照、瘦池和缓存池等多种类型,实现灵活存储资源管理,需注意空间分配、R... 目录lvcreate命令详解一、命令概述二、语法格式三、核心功能四、选项详解五、使用示例1. 创建逻

linux下shell脚本启动jar包实现过程

《linux下shell脚本启动jar包实现过程》确保APP_NAME和LOG_FILE位于目录内,首次启动前需手动创建log文件夹,否则报错,此为个人经验,供参考,欢迎支持脚本之家... 目录linux下shell脚本启动jar包样例1样例2总结linux下shell脚本启动jar包样例1#!/bin

C#监听txt文档获取新数据方式

《C#监听txt文档获取新数据方式》文章介绍通过监听txt文件获取最新数据,并实现开机自启动、禁用窗口关闭按钮、阻止Ctrl+C中断及防止程序退出等功能,代码整合于主函数中,供参考学习... 目录前言一、监听txt文档增加数据二、其他功能1. 设置开机自启动2. 禁止控制台窗口关闭按钮3. 阻止Ctrl +

java如何实现高并发场景下三级缓存的数据一致性

《java如何实现高并发场景下三级缓存的数据一致性》这篇文章主要为大家详细介绍了java如何实现高并发场景下三级缓存的数据一致性,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 下面代码是一个使用Java和Redisson实现的三级缓存服务,主要功能包括:1.缓存结构:本地缓存:使

在MySQL中实现冷热数据分离的方法及使用场景底层原理解析

《在MySQL中实现冷热数据分离的方法及使用场景底层原理解析》MySQL冷热数据分离通过分表/分区策略、数据归档和索引优化,将频繁访问的热数据与冷数据分开存储,提升查询效率并降低存储成本,适用于高并发... 目录实现冷热数据分离1. 分表策略2. 使用分区表3. 数据归档与迁移在mysql中实现冷热数据分

C#解析JSON数据全攻略指南

《C#解析JSON数据全攻略指南》这篇文章主要为大家详细介绍了使用C#解析JSON数据全攻略指南,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录一、为什么jsON是C#开发必修课?二、四步搞定网络JSON数据1. 获取数据 - HttpClient最佳实践2. 动态解析 - 快速