当前位置: 首页 > news >正文

mac如何将jar包上传到maven中央仓库中

mac如何将jar包上传到maven中央仓库中

  1. 准备sonatype账号

    sonatype官网:https://central.sonatype.com/

    建议使用GitHub账号注册,方便在这里插入图片描述

  2. 之后选择查看用户信息
    在这里插入图片描述

  3. 选择此选项获取用户token的username与password,建议提前复制一下谨防丢失
    在这里插入图片描述

之后在右上角点击Publish按钮,进入发布页面,创建一个namespace命名空间,自己的项目maven坐标的groupId就是命名空间,每次在本地deploy的jar包都需要在deployments页面内手动提交到maven中央仓库中;

<groupId>cn.muzisheng.pear</groupId>
<artifactId>pear-spring-boot-starter</artifactId>
<version>1.1.14</version>

在这里插入图片描述

  1. 配置本地maven的settings.xml文件

    修改server为刚才的信息

    记住自己设置的id,这个是自定义的

    在这里插入图片描述

  2. 配置项目的pom文件

    在sonatype发布插件publishingServerId部分是我们需要替换的内容,其他的按照我的大概率也能运行哈

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>3.0.0-M5</version>
                <configuration>
                    <skipTests>true</skipTests>
                </configuration>
            </plugin>
    
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>17</source>
                    <target>17</target>
                    <compilerArgs>
                        <arg>-parameters</arg>
                    </compilerArgs>
                </configuration>
            </plugin>
    
            <!--sonatype发布插件-->
            <plugin>
                <groupId>org.sonatype.central</groupId>
                <artifactId>central-publishing-maven-plugin</artifactId>
                <version>0.4.0</version>
                <extensions>true</extensions>
                <configuration>
                    <publishingServerId>cn.muzisheng</publishingServerId>
                    <tokenAuth>true</tokenAuth>
                    <autoPublish>false</autoPublish>
                </configuration>
            </plugin>
            <!-- 生成source -->
            <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>
            <!-- 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.6</version>
                <executions>
                    <execution>
                        <id>sign-artifacts</id>
                        <phase>verify</phase>
                        <goals>
                            <goal>sign</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>
    
  3. 之后到本地签名部分,我们需要安装gpg,gpg 是一个强大的工具,涵盖了 加密、解密、签名、验证、密钥管理

    在终端中使用命令

    brew install gpg

    如果没有安装brew工具的话可以在其他博客先安装brew

  4. 使用gpg工具配置

    首先使用gpg --gen-key命令创建gpg密钥,将密钥记住后会让我们输入用户姓名跟电子邮箱,之后是注释,大致如下

    Real name: ****.***.**
    Email address: ********@******
    Comment: (可以留空,直接回车)
    You selected this USER-ID:
        "****.***.** <*********@*****>"
    
    Change (N)ame, (E)mail, or (O)kay/(Q)uit? O
    

    输入O确认信息;

    之后gpg会要求输入密码,这个很重要,请一定记住,之后每次将项目deploy可能需要输入密码;

    使用gpg --list-keys查看我们创建的密钥列表,有没有之前我们创建的数据,类似如下:

    pub   rsa4096 2025-04-01 [SC] [expires: 2028-03-31]
          58334ECBA42693D**0893D0B3E4CCFB***9646
    uid                      ****.***.** <******@****>
    sub   rsa4096 2025-04-01 [E] [expires: 2028-03-31]
    

    最后,将你的密钥上传到密钥服务器中

    gpg --keyserver keyserver.ubuntu.com --send-keys 58334ECBA42693D**0893D0B3E4CCFB***9646
    

    以上的密钥包括id等信息都要替换成你自己的哦!

    做完后尝试deploy吧!

  5. 总结(大致步骤这样,具体操作可以搜索其他博客与ai哦)

    • 登陆sonatype注册用户,获取用户token,创建命名空间;
    • token写到本地maven中央仓库的配置文件settings里,自定义一个id;
    • 在项目的pom文件中添加插件,绑定上id;
    • 最后使用gpg工具,在本地创建一个密钥,并发布到密钥服务器中,用于对上传的信息进行加密;

    下课

http://www.dtcms.com/a/108150.html

相关文章:

  • LeetCode-695. 岛屿的最大面积
  • Linux系统之systemctl管理服务及编译安装配置文件安装实现systemctl管理服务
  • Redis-10.在Java中操作Redis-Spring Data Redis使用方式-操作步骤说明
  • 基于随机森林算法的信用风险评估项目
  • 汇编学习结语
  • Dify案例-接入飞书云文档实现需求质量评估
  • MongoDB文档操作
  • 基于HTML5的音乐播放器(源码+lw+部署文档+讲解),源码可白嫖!
  • vscode代码片段的设置与使用
  • 填坑日志(20250402)解决Jira Rest API出现403XSRF check failed报错的问题
  • Ansible(4)—— Playbook
  • STL 性能优化实战:解决项目中标准模板库的性能瓶颈
  • C语言跳表(Skip List)算法:数据世界的“时光穿梭机”
  • Node.js v22.14.0 多平台安装指南:Windows、Linux 和 macOS 详细教程
  • 当AI开始“思考“:大语言模型的文字认知三部曲
  • Vue 中 this.$emit(“update:xx“,value) 和 :xx.sync 实现同步数据的做法
  • 创建灵活可配置的轮播图组件: GrapesJS 与 Vue3 的完美结合
  • 超短波通信模拟设备:增强通信能力的关键工具
  • 【3.软件工程】3.2 瀑布模型
  • MySQL 高级查询:JOIN、子查询、窗口函数
  • 3D AI 公司 VAST 开源基础 3D 生成模型 TripoSG 和 TripoSF
  • nocobase + Python爬虫实现数据可视化
  • 超详细!!!一文理解Prompting Depth Anything(CVPR2025)
  • 使用Docker安装及使用最新版本的Jenkins
  • Unity打包webgl本地测试
  • 无人机机体结构设计要点与难点!
  • 数据仓库:数据地图
  • Vuex中State的三大使用场景深度解析:模板、组件与JS文件的最佳实践
  • 前端面试项目场景题总结
  • Java 8 的流(Stream API)简介