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

发布于:2025-04-04 ⋅ 阅读:(12) ⋅ 点赞:(0)

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工具,在本地创建一个密钥,并发布到密钥服务器中,用于对上传的信息进行加密;

    下课