java / springboot 项目部署 jar 包到 maven中央仓库 - Go语言中文社区

java / springboot 项目部署 jar 包到 maven中央仓库


发布流程一览:
1、申请 sonatype 账号,创建任务,等待任务审核通过
2、安装 gpg 密钥对,上传私/钥到中央仓库服务器便于权鉴
3、配置项目 maven的配置以及项目的 pom 配置,然后上传 jar 到中央个人存储库
4、对项目jar继续扫描检查/ 发布

一、申请 sonatype 账号并创建申请发布任务

1.1、注册账号

官方网站:http://www.sonatype.org/
注册地址:https://issues.sonatype.org/secure/Signup!default.jspa

1.2、创建任务

进入主页,点击新建
在这里插入图片描述

创建任务

  • Group Id, 确保 group id对应的域名是你的,最好直接按它的提示使用com.github.wslxm ,如果你有自己的官网也可以直接使用你的网址(后面会要求你做验证)
  • 项目地址
  • 代码管理地址
  • 代码管理地址
    在这里插入图片描述

1.3、审核

填写后点击确认提交,确保任务是开放状态,等待审核, 审核会发送邮件通知,
不符合他们的要求会被设置为Unresolved,你可以重复修改相关配置信息,再次提交让他们处理。

1.4、校验

比如我是的项目地址是github上的,它会让你再github创建一个它要求的项目,在此进行提交操作

1.5、审核/校验通过

审核/校验通过后,邮件提示如下,可能会因为项目不同给不同的回复
在这里插入图片描述

二、GPG安装和生成密钥

# 命令
pg --gen-key      # 生成密钥
gpg --list-keys   # 判断密钥是否生成成功

1、GPG安装

下载地址: https://www.gnupg.org/download/
下载后傻瓜式安装即可
在这里插入图片描述

使用管理员身份打开 cmd,执行命令 gpg --version ,判断是否安装成功

2、生成密钥

使用管理员身份打开 cmd

执行命令: gpg --gen-key
输入 用户名 / 密码
在这里插入图片描述
输入 o 后弹出密码设置
在这里插入图片描述
获取 key
在这里插入图片描述

把 key 发送到中央仓库服务器,后面上传会做权鉴


gpg --keyserver keyserver.ubuntu.com --send-keys B34ACF782ABE8FD3
gpg --keyserver keyserver.ubuntu.com --recv-keys B34ACF782ABE8FD3

三、配置项目,并进行上传

2021年2月开始, 储存库不在支持: https://oss.sonatype.org/#view-repositories

使用新地址储存库
https://s01.oss.sonatype.org/#view-repositories

上传中央仓库地址配置注意使用新储存地址

3.1、settings.xml 增加 中央仓库的账号密码配置

   <!--  中央仓库个人存储库的账号密码 -->
        <server>
            <id>ossrh</id>
            <username>自己的账号</username>
            <password>自己的密码</password>
        </server>

3.2、pom.xml 增加许可证,源码信息,个人信息,中央仓库配置

  <!-- mvn clean deploy  -->
    <!-- 许可证 -->
    <licenses>
        <license>
            <name>The Apache Software License, Version 2.0</name>
            <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
            <distribution>repo</distribution>
        </license>
    </licenses>

    <!-- 源码信息 -->
    <scm>
        <url>https://github.com/wslxm/spring-boot-plus2</url>
        <connection>scm:https://github.com/wslxm/spring-boot-plus2.git</connection>
        <developerConnection>scm:https://github.com/wslxm/spring-boot-plus2.git</developerConnection>
    </scm>

    <!-- 个人信息,对应 gpg 配置 -->
    <developers>
        <developer>
            <name>wangsong</name>
            <email>1720696548@qq.com</email>
            <timezone>+8</timezone>
        </developer>
    </developers>
    
    <!-- 中央仓库配置id 需对应 settings.xml 的 server的id -->
    <distributionManagement>
        <snapshotRepository>
            <id>ossrh</id>
            <url>https://s01.oss.sonatype.org/content/repositories/snapshots/</url>
        </snapshotRepository>
        <repository>
            <id>ossrh</id>
            <url>https://s01.oss.sonatype.org/service/local/staging/deploy/maven2/</url>
        </repository>
    </distributionManagement>

3.3、pom.xml 增加打包配置

<!-- 打包配置 -->
    <build>
        <finalName>xj-base-admin-${revision}</finalName>
        <plugins>
            <!-- java-doc配置 -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-javadoc-plugin</artifactId>
                <version>2.10.4</version>
                <configuration>
                    <aggregate>true</aggregate>
                </configuration>
                <executions>
                    <execution>
                        <id>attach-javadocs</id>
                        <goals>
                            <goal>jar</goal>
                        </goals>
                        <configuration> <!-- add this to disable checking -->
                            <additionalparam>-Xdoclint:none</additionalparam>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <!-- 使用source 进行jar打包-->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-source-plugin</artifactId>
                <version>3.0.1</version>
                <executions>
                    <execution>
                        <id>attach-sources</id>
                        <goals>
                            <goal>jar-no-fork</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <!-- gpg 配置 -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-gpg-plugin</artifactId>
                <version>1.6</version>
                <executions>
                    <execution>
                        <id>sign-artifacts</id>
                        <phase>verify</phase>
                        <goals>
                            <goal>sign</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

4、执行命令上传到仓库

管理员身份打开 cmd 进入项目命令执行命令,注意在idea 编辑器中的终端无法执行 gpg 命令,无法进行上传操作

mvn clean deploy

看到很多上传成功的信息,其中有自己的jar包 就表示成功了
注意: 如果自己的jar后面跟了当前日期不会上传到存储库,jar版本不能带有 开发版的英文后缀
在这里插入图片描述
访问:
https://s01.oss.sonatype.org/ 登录进行查询(登录账号同 sonatype 账号)
在这里插入图片描述

四、验证并发布

访问远程个人仓库: https://s01.oss.sonatype.org/

4.1、选中要验证的数据验证

在这里插入图片描述

4.2、验证结果查看

如果验证不通过参考文章: https://blog.csdn.net/pdsu161530247/article/details/105429597/
在这里插入图片描述

4.3、点击发布

在这里插入图片描述
发布后等着就可以了, 4小时左右就可以到中央仓库进行搜索了

版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/qq_41463655/article/details/120728657
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢