第一次发布jar包到maven中央仓库

1.github上上传项目(略)

2.在sonatype上注册账号

https://issues.sonatype.org/secure/Dashboard.jspa

注意记住用户名和密码

3.在sonatype创建问题

第一次发布jar包到maven中央仓库

第一次发布jar包到maven中央仓库

4.新建完后客服会给提示

第一次发布jar包到maven中央仓库

主要是要求:groupId要合理,需要按照要求在github上创建空仓库,做完这些后,然后修改状态为打开即可。

5.审核成功后会发邮件通知,状态显示为已解决

第一次发布jar包到maven中央仓库

6.项目修改groupId为上方指定的groupId

7.修改maven的setting.xml配置

<servers>
 <server>
  <id>ossrhid>
  <username>sonatype用户名username>
  <password>sonatype登录密码password>
 server>
servers>

8.修改pom.xml配置

    <distributionManagement>
        <snapshotRepository>
            <id>ossrhid>
            <url>https://s01.oss.sonatype.org/content/repositories/snapshotsurl>
        snapshotRepository>
        <repository>
            <id>ossrhid>
            <url>https://s01.oss.sonatype.org/service/local/staging/deploy/maven2/url>
        repository>
    distributionManagement>
  1. 打包上传

mvn clean install

mvn deploy

10.在仓库上查看快照版的jar包是否上传成功

打开:https://s01.oss.sonatype.org/

第一次发布jar包到maven中央仓库

11.发布正式版

批量修改版本号:

mvn versions:set -DnewVersion=1.0.0

部署:

mvn clean deploy

12.在sonatype上查看暂存版

第一次发布jar包到maven中央仓库

13.解决问题后放开进一步发布到正式版

主要要解决文件签名问题,给文件生成签名文件

下载gpg4win:https://www.gpg4win.org/download.html

安装后,生成证书,发布到服务器等

参考:https://blog.csdn.net/ooyyaa6561/article/details/124900977

14.gpg相关配置

setting.xml配置

<profile>
      <id>ossrhid>
      <activation>
        <activeByDefault>trueactiveByDefault>
      activation>
      <properties>
        <gpg.executable>gpggpg.executable>
        <gpg.passphrase>密码gpg.passphrase>
      properties>
    profile>

pom.xml配置

<profiles>
        <profile>
            <id>releaseid>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.pluginsgroupId>
                        <artifactId>maven-source-pluginartifactId>
                        <version>2.2.1version>
                        <executions>
                            <execution>
                                <id>attach-sourcesid>
                                <goals>
                                    <goal>jar-no-forkgoal>
                                goals>
                            execution>
                        executions>
                    plugin>
                    <plugin>
                        <groupId>org.apache.maven.pluginsgroupId>
                        <artifactId>maven-javadoc-pluginartifactId>
                        <version>2.9.1version>
                        <executions>
                            <execution>
                                <id>attach-javadocsid>
                                <goals>
                                    <goal>jargoal>
                                goals>
                            execution>
                        executions>
                    plugin>
                    <plugin>
                        <groupId>org.apache.maven.pluginsgroupId>
                        <artifactId>maven-gpg-pluginartifactId>
                        <version>3.0.1version>
                        <executions>
                            <execution>
                                <id>sign-artifactsid>
                                <phase>verifyphase>
                                <goals>
                                    <goal>signgoal>
                                goals>
                            execution>
                        executions>
                    plugin>
                plugins>
            build>
        profile>
    profiles>
  1. 运行打包部署命令

指定release这个profile运行

打包

mvn clean install -P release

部署

mvn clean deploy -P release

  1. 及时发布

第一次发布jar包到maven中央仓库

close后,会给问题反馈,没问题后,点击Release

17.jar包拉取验证

sonatype仓库验证:在pom.xml中添加仓库

    <repository>
            <id>nexuesid>
            <name>snapshotsname>
            <url>https://s01.oss.sonatype.org/content/groups/public/url>
            <releases>
                <enabled>trueenabled>
            releases>
            <snapshots>
                <enabled>trueenabled>
                <updatePolicy>alwaysupdatePolicy>
            snapshots>
        repository>

然后添加maven依赖配置

快照版和正式版均可以下载,正式版优先级高!

maven中央仓库验证:

setting.xml文件无需配置,默认就可以直连maven中央仓库,直接引入依赖即可

        <dependency>
            <groupId>io.github.hdwang123groupId>
            <artifactId>openapi-server-sdkartifactId>
            <version>1.0.0version>
        dependency>

        <dependency>
            <groupId>io.github.hdwang123groupId>
            <artifactId>openapi-client-sdkartifactId>
            <version>1.0.0version>
        dependency>           

经过大约4个小时终于收到成功的邮件,验证果然成功了,下面是邮件截图

第一次发布jar包到maven中央仓库

遇到的问题:

gpg插件无法运行

解决:1.安装完gpg4win后需要重启电脑,切记 2. setting.xml中的命令可能是gpg而非gpg2

Original: https://www.cnblogs.com/hdwang/p/16318620.html
Author: 追极
Title: 第一次发布jar包到maven中央仓库

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/587773/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 搭建Redis集群

    为什么要有集群 上一篇随笔说了基本的主从概念以及搭建,一主可以有多从,如果同时访问的量过大(1000w)或者发生自然灾难,主服务肯定就会挂掉,数据服务就挂掉了 大公司都会有很多的服…

    数据结构和算法 2023年6月7日
    079
  • 《Redis设计与实现》

    由浅到深,逐步讲解Redis 本书主要分为四大部分。 第一部分”数据结构与对象”: 介绍了Redis中的各种对象及其数据结构,并说明这些数据结构如何影响对象…

    数据结构和算法 2023年6月16日
    084
  • 大树套小树

    显然啊,树套树有很多种。 可以线段树套平衡树,平衡树套线段树,线段树套线段树,树状数组套主席树等等。 1. 线段树套平衡树 前置知识:Fhq_Treap 不过,这里有区间。 对于区…

    数据结构和算法 2023年6月12日
    059
  • 圆方图(铁人两项)

    #include using namespace std; const int MM=400005; int dfn[MM],low[MM],dfc,cnt,in[MM],tot,…

    数据结构和算法 2023年6月7日
    074
  • 【重要】LeetCode 652. 寻找重复的子树

    题目链接 652. 寻找重复的子树 注意事项 将一颗子树按照先序遍历的方式组装成一个字符串,方便进行比较。 使用unordered_map进行数量判断。 代码 /** * Defi…

    数据结构和算法 2023年6月8日
    0100
  • 「题解报告」 P3167 [CQOI2014]通配符匹配

    *和 ?显然无法直接匹配,但是可以发现「通配符个数不超过 (10) 」,那么我们可以考虑分段匹配。 我们首先把原字符串分成多个以一个通配符开头的字符串,如将 happy*birth…

    数据结构和算法 2023年6月8日
    087
  • Abel 变换的一个代数证明

    Abel 变换的一个形式: [\sum^{n}{i=1}a_i b_i=\sum^{n-1}{i=1}(a_{i}-a_{i+1})\sum_{j=1}^ib_j + \sum^{…

    数据结构和算法 2023年6月7日
    097
  • C++ 炼气期之数据是主角

    1. 前言 数据在程序中的重要性,怎么强调都不为过,程序的本质就是通过提供数据处理逻辑,把数据从一种状态变成另一种状态的过程。处理逻辑一定是有针对性的,针对的是数据本身的特性。 只…

    数据结构和算法 2023年6月7日
    086
  • Petrozavodsk Winter Training Camp 2016: Moscow SU Trinity Contest

    题意:就是问你一个矩阵能由几个行向量表示出来 Solution 其实就是求矩阵的秩,但是会被卡精度(被卡了好几发),直接抄个矩阵求秩的板子就AC了 Code #define CLR…

    数据结构和算法 2023年6月12日
    091
  • $mathcal{A,F,O}$

    404. 抱歉,您访问的资源不存在。 可能是网址有误,或者对应的内容被删除,或者处于私有状态。 代码改变世界,联系邮箱 contact@cnblogs.com 园子的商业化努力-困…

    数据结构和算法 2023年6月8日
    070
  • 【模板】负环(SPFA/Bellman-Ford)/洛谷P3385

    题目链接 https://www.luogu.com.cn/problem/P3385 题目大意 给定一个 (n) 个点有向点权图,求是否存在从 (1) 点出发能到达的负环。 题目…

    数据结构和算法 2023年6月7日
    0123
  • 数据结构:线性表

    线性表 线性表(List):零个或多个数据元素的有限序列。 首先它是一个序列。也就是说,元素之间是有顺序的,若元素存在多个,则第一个元素无前驱,最后一个元素无后继,其他每个元素都有…

    数据结构和算法 2023年6月12日
    076
  • 多重背包问题的单调队列优化

    多重背包问题的单调队列优化 温馨提示:先吃甜点,再进入正餐食用更佳噢~ 0-1背包问题(餐前甜点) https://www.acwing.com/problem/content/2…

    数据结构和算法 2023年6月7日
    068
  • FeignClient设置超时时间(包括方法级别)

    一、简介Spring Cloud Feign Client 是一个方便的声明式 REST 客户端,我们用它来实现微服务之间的通信。 在这个简短的教程中,我们将展示如何设置自定义的 …

    数据结构和算法 2023年6月8日
    0117
  • AcWing-1022

    题解借鉴两位大佬的解析 墨染空 && 野生铅笔 本题是一道 01&#x80CC;&#x5305; 的扩展题 —— 二维费用01背包问题 把 &amp…

    数据结构和算法 2023年6月12日
    073
  • 区间 kth

    本文中的时间复杂度和分数均以实现 P3834 为准。 为了更好地贴合现实,本文代码将更加符合学此算法时的实际情况。 通过选择 / 冒泡 / 插入排序,将区间排序后输出 k 小值。 …

    数据结构和算法 2023年6月12日
    080
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球