mac如何将jar包上传到maven中央仓库中
准备sonatype账号
sonatype官网:https://central.sonatype.com/
建议使用GitHub账号注册,方便
之后选择查看用户信息
选择此选项获取用户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>
配置本地maven的settings.xml文件
修改server为刚才的信息
记住自己设置的id,这个是自定义的
配置项目的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>
之后到本地签名部分,我们需要安装gpg,gpg 是一个强大的工具,涵盖了 加密、解密、签名、验证、密钥管理
在终端中使用命令
brew install gpg
如果没有安装brew工具的话可以在其他博客先安装brew
使用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吧!
总结(大致步骤这样,具体操作可以搜索其他博客与ai哦)
- 登陆sonatype注册用户,获取用户token,创建命名空间;
- token写到本地maven中央仓库的配置文件settings里,自定义一个id;
- 在项目的pom文件中添加插件,绑定上id;
- 最后使用gpg工具,在本地创建一个密钥,并发布到密钥服务器中,用于对上传的信息进行加密;
下课