本文主要是介绍如何发布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:
Record | Type | Value | TTL |
---|---|---|---|
baidu.com | TXT | “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系统内数据进行迁移)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!