把自己的垃圾代码发布到官方中央仓库

2024-05-26 00:36

本文主要是介绍把自己的垃圾代码发布到官方中央仓库,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

参考博客:将组件发布到maven中央仓库-CSDN博客 感谢这位博主。但是他的步骤有漏缺,相对进行补充

访问管理页面

网址:Maven Central

新注册账号,或者使用github快捷登录,建议使用github快捷登录

添加命名空间

注意,如果使用github快捷登录,默认携带 io.github.?? 的命名空间,如果自己的代码在github上,可以直接使用这个命名空间

如果代码在 码云 仓库,

提交后,提示需要验证空间,需要按照要求,到 码云 仓库创建一个对应名称的空内容的项目,然后点击认证。

如上图, io.gitee.wsitm 是我的命名空间

添加其他命名空间见 Register a Namespace - The Central Repository Documentation

创建代码仓库

注意:代码一定需要符合开源,可以使用MIT开源,或其他开源。创建开源极为容易,gitee默认会提示创建开源,有快捷入口,点击快速创建。

代码的pom.xml的配置

具体如下:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>io.gitee.wsitm</groupId><artifactId>wsitm-clutter</artifactId><version>0.0.1</version><url>https://gitee.com/wsitm/wsitm-clutter.git</url><packaging>jar</packaging><name>${project.artifactId}</name><description>wsitm-clutter杂烩工具</description><dependencies></dependencies><licenses><license><name>MIT License</name><url>https://opensource.org/licenses/MIT</url><comments>The project itself is licensed under MIT License.</comments></license></licenses><developers><developer><name>yourname</name><email>youremail@qq.com</email></developer></developers><scm><connection>scm:git@gitee.com:wsitm/wsitm-clutter.git</connection><developerConnection>scm:git@gitee.com:wsitm/wsitm-clutter.git</developerConnection><url>https://gitee.com/wsitm/wsitm-clutter.git</url></scm><build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-source-plugin</artifactId><version>3.3.0</version><executions><execution><id>attach-sources</id><goals><goal>jar-no-fork</goal></goals></execution></executions></plugin><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-javadoc-plugin</artifactId><version>2.9.1</version><configuration><aggregate>true</aggregate><charset>UTF-8</charset><encoding>UTF-8</encoding><docencoding>UTF-8</docencoding><additionalparam>-Xdoclint:none</additionalparam></configuration><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>3.1.0</version><executions><execution><id>sign-artifacts</id><phase>verify</phase><goals><goal>sign</goal></goals></execution></executions></plugin><!--maven插件--><plugin><groupId>org.sonatype.central</groupId><artifactId>central-publishing-maven-plugin</artifactId><version>0.4.0</version><extensions>true</extensions><configuration><publishingServerId>central</publishingServerId><tokenAuth>true</tokenAuth></configuration></plugin></plugins></build>
</project>

生成GPG密钥

作用:这是用于给自身源码加签名

下载GPG管理软件:https://gnupg.org/download/index.html


点击进入下载页面

如上图,当然,如果有钱也可以捐献一些。我不一样,我白嫖

安装完成之后,使用命令生成密钥,命令:  gpg –gen-key

生成之后

推送密钥到远程服务端

命令:  gpg --keyserver hkp://keyserver.ubuntu.com --send-keys [生成密钥后的标识]

例子:gpg --keyserver hkp://keyserver.ubuntu.com --send-keys 2*************F6449

服务:--keyserver 有三个官方网址可以切换

  • keyserver.ubuntu.com
  • keys.openpgp.org
  • pgp.mit.edu

注意:可能推送不成功,三个网址我都测试不成功,不知道什么原因,只能使用另一种方法

公钥如下:

复制全部内容,手动上传,打开服务网址:  https://keyserver.ubuntu.com/#

生成token

得到的token格式如下:

maven的setting.xml的配置

具体如下:

<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd"><servers><server><id>central</id><username>${tokenId}</username><password>${tokenPass}</password></server></servers><profiles><profile><id>gpg</id><properties><gpg.executable>gpg</gpg.executable><gpg.keyname>youremail@qq.com</gpg.keyname><gpg.passphrase>${pgp-password}</gpg.passphrase><gpg.useagent>true</gpg.useagent></properties></profile></profiles>
</settings>

发布到仓库

进入代码目录,执行命令:  mvn clean deploy

发布完成,打开管理页面


提交后需要验证,如果正常

如果异常,查看错误描述

去仓库查看自己的项目

阿里云:  仓库服务

官方:  Central Repository:

官方页面:https://mvnrepository.com/

注:阿里云,和官方能在审核后1小时内能查到自己的项目,但是官方页面需要好多天才能查询。但直接在maven中引用即可,并不影响使用

这篇关于把自己的垃圾代码发布到官方中央仓库的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1003061

相关文章

利用c++判断水仙花数并输出示例代码

《利用c++判断水仙花数并输出示例代码》水仙花数是指一个三位数,其各位数字的立方和恰好等于该数本身,:本文主要介绍利用c++判断水仙花数并输出的相关资料,文中通过代码介绍的非常详细,需要的朋友可以... 以下是使用C++实现的相同逻辑代码:#include <IOStream>#include <vec

Java 接口定义变量的示例代码

《Java接口定义变量的示例代码》文章介绍了Java接口中的变量和方法,接口中的变量必须是publicstaticfinal的,用于定义常量,而方法默认是publicabstract的,必须由实现类... 在 Java 中,接口是一种抽象类型,用于定义类必须实现的方法。接口可以包含常量和方法,但不能包含实例

使用Redis实现会话管理的示例代码

《使用Redis实现会话管理的示例代码》文章介绍了如何使用Redis实现会话管理,包括会话的创建、读取、更新和删除操作,通过设置会话超时时间并重置,可以确保会话在用户持续活动期间不会过期,此外,展示了... 目录1. 会话管理的基本概念2. 使用Redis实现会话管理2.1 引入依赖2.2 会话管理基本操作

mybatis-plus分表实现案例(附示例代码)

《mybatis-plus分表实现案例(附示例代码)》MyBatis-Plus是一个MyBatis的增强工具,在MyBatis的基础上只做增强不做改变,为简化开发、提高效率而生,:本文主要介绍my... 目录文档说明数据库水平分表思路1. 为什么要水平分表2. 核心设计要点3.基于数据库水平分表注意事项示例

Nginx服务器部署详细代码实例

《Nginx服务器部署详细代码实例》Nginx是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务,:本文主要介绍Nginx服务器部署的相关资料,文中通过代码... 目录Nginx 服务器SSL/TLS 配置动态脚本反向代理总结Nginx 服务器Nginx是一个‌高性

HTML5的input标签的`type`属性值详解和代码示例

《HTML5的input标签的`type`属性值详解和代码示例》HTML5的`input`标签提供了多种`type`属性值,用于创建不同类型的输入控件,满足用户输入的多样化需求,从文本输入、密码输入、... 目录一、引言二、文本类输入类型2.1 text2.2 password2.3 textarea(严格

JAVA项目swing转javafx语法规则以及示例代码

《JAVA项目swing转javafx语法规则以及示例代码》:本文主要介绍JAVA项目swing转javafx语法规则以及示例代码的相关资料,文中详细讲解了主类继承、窗口创建、布局管理、控件替换、... 目录最常用的“一行换一行”速查表(直接全局替换)实际转换示例(JFramejs → JavaFX)迁移建

Go异常处理、泛型和文件操作实例代码

《Go异常处理、泛型和文件操作实例代码》Go语言的异常处理机制与传统的面向对象语言(如Java、C#)所使用的try-catch结构有所不同,它采用了自己独特的设计理念和方法,:本文主要介绍Go异... 目录一:异常处理常见的异常处理向上抛中断程序恢复程序二:泛型泛型函数泛型结构体泛型切片泛型 map三:文

MyBatis中的两种参数传递类型详解(示例代码)

《MyBatis中的两种参数传递类型详解(示例代码)》文章介绍了MyBatis中传递多个参数的两种方式,使用Map和使用@Param注解或封装POJO,Map方式适用于动态、不固定的参数,但可读性和安... 目录✅ android方式一:使用Map<String, Object>✅ 方式二:使用@Param

SpringBoot实现图形验证码的示例代码

《SpringBoot实现图形验证码的示例代码》验证码的实现方式有很多,可以由前端实现,也可以由后端进行实现,也有很多的插件和工具包可以使用,在这里,我们使用Hutool提供的小工具实现,本文介绍Sp... 目录项目创建前端代码实现约定前后端交互接口需求分析接口定义Hutool工具实现服务器端代码引入依赖获