2024年2月后如何使用maven central发布自己的jar到中央仓库

2024年2月后如何使用maven central发布自己的jar到中央仓库

在2024年2月1日,sonatype 终于放弃了原本的maven-central的注册方式,
不再支持jira 创建工单处理了
下文介绍新的maven central repository发布jar的流程

一、注册maven central账号

地址:https://central.sonatype.com

找到右上角view Account 创建用户token

请添加图片描述

请添加图片描述

点击后会生成user token后续会在maven的settings.xml中配置server使用

二、验证namespace

​ 若果在第一步注册时使用的GitHub账号登录,会自动生成一个验证通过的namespace。

这是几种namespace的命名示例

请添加图片描述

以gitee为例,访问主页url后的就是myusername命名空间就是: io.gitee.wyaoao

请添加图片描述

​ 然后点击验证,网站会给你一个仓库名称,让你在自己的gitee上新建一个公开的仓库来做验证。名称必须网站给的一致。

三、配置GPG

为了对发布的 jar 包进行签名,你需要生成 GPG 密钥对

  • 安装并配置 GnuPG环境变量:gpg --version 检查是否已安装,未安装则需下载安装https//www.gnupg.org/download/
  • 生成密钥对:gpg --gen-key,根据提示操作。
  • 将公钥上传至公钥服务器:gpg --keyserver keyserver.ubuntu.com --send-keys <your-key-id>

有时执行上传命令会失败可尝试跟换密钥域名

  • keyserver.ubuntu.com
  • keys.openpgp.org
  • pgp.mit.edu

还是有问题的话直接导出公钥进行上传。

请添加图片描述
请添加图片描述

四、项目maven插件引入

官方要求必须包含 源码javadocgpg加密

<build>
        <plugins>
            <!--   central发布插件    -->
            <plugin>
                <groupId>org.sonatype.central</groupId>
                <artifactId>central-publishing-maven-plugin</artifactId>
                <version>0.4.0</version>
                <extensions>true</extensions>
                <configuration>
                <publishingServerId>central</publishingServerId>
                    <tokenAuth>true</tokenAuth>
                </configuration>
            </plugin>
             <!--   source源码插件   官方要求 -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-source-plugin</artifactId>
                <version>2.2.1</version>
                <executions>
                    <execution>
                        <id>attach-sources</id>
                        <goals>
                            <goal>jar-no-fork</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
              <!--   javadoc插件  官方要求  -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-javadoc-plugin</artifactId>
                <version>2.9.1</version>
                <executions>
                    <execution>
                        <id>attach-javadocs</id>
                        <goals>
                            <goal>jar</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-gpg-plugin</artifactId>
                <version>1.5</version>
                <configuration>
                       <!--   没有配置环境变量,可知道GnuPG路径 -->
                    <executable>C:\Program Files (x86)\GnuPG\bin\gpg.exe</executable>
                </configuration>
                <executions>
                    <execution>
                        <id>sign-artifacts</id>
                        <phase>verify</phase>
                        <goals>
                            <goal>sign</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>

        </plugins>
</build>

可能会需要在pom.xml文件中配置一些必要属性 developerslicensesscmurl

    <developers>
        <developer>
            <name>aohan</name>
            <email>wanngziyi@gmail.com</email>
        </developer>
    </developers>

    <licenses>
        <license>
            <name>Apache License, Version 2.0</name>
            <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
        </license>
    </licenses>

    <scm>
        <connection>scm:git:git://gitee.com/wyaoao/aohan-common-dto.git</connection>
        <developerConnection>scm:git:ssh://gitee.com/wyaoao/aohan-common-dto.git</developerConnection>
        <url>https://gitee.com/wyaoao/aohan-common-dto/tree/master</url>
    </scm>

    <url>https://gitee.com/wyaoao/aohan-common-dto.git</url>

然后在 maven的settings.xml中配置第一步生成的user token

请添加图片描述

​ 其中server 的id与 central-publishing-maven-plugin插件中的publishingServerId一致即可

然后执行deploy命令

mvn clean deploy

最后在Deployments发布,等在发布成功就可以了。同步到第三方maven搜索可能会延迟。

请添加图片描述

  • 25
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 13
    评论
idea是一种集成开发环境(IDE),能够帮助开发者更轻松地开发、调试和部署应用程序。Maven是一个项目管理工具,它提供了一种方便的方式来管理和构建Java项目,并且有一个中央仓库来存储各种依赖项。在使用idea上传jarMaven仓库时,可以按照以下步骤进行操作: 1. 在Maven项目的pom.xml文件中添加jar包的相关配置信息。例如,可以在<dependencies>标签中添加一个<dependency>标签,指定jar包的坐标、版本号等信息。 2. 在项目根目录下执行Maven命令,将jar包打包并上传到Maven仓库。可以使用Maven插件或命令行工具,在命令行中执行类似于"mvn clean install"的命令,将jar包打包成标准的Maven构建产物,并将其上传到本地Maven仓库或远程仓库。 3. 配置Maven仓库的地址和认证信息。如果使用的是远程仓库,需要在settings.xml文件中配置远程仓库的地址,并提供认证信息以获得上传权限。 4. 使用idea的Maven插件进行构建和上传。在idea的Maven面板中,可以找到相关的命令和配置选项,可以使用插件来构建项目并上传jar包到Maven仓库。 以上是大致的步骤,具体操作可能会因开发环境和项目配置而有所不同。但总的来说,使用idea上传jarMaven仓库是一个相对简单的过程,只需要在项目配置中添加必要的依赖信息,并使用Maven命令或插件进行打包和上传即可。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值