Maven项目通过maven central 发布到中央仓库 https://repo.maven.apache.org/ 手把手教学 最新教学

一、注册maven central账号

​ https://central.sonatype.com/publishing/namespaces
在这里插入图片描述
我这里直接使用github账号登录 ,可以自己注册或者直接使用google账号或者github账号登录
在这里插入图片描述

这里github账号登录之后 应该只出现io.github 下面的io.gitee我也验证过 所以这里出现了github和gitee 我这里直接以gitee为例

二、新增Namespace 并且通过验证

这里是一些开源仓库的命名方式
在这里插入图片描述

点击Add Namespace
在这里插入图片描述
这里我已经操作过了 我新增一个假的
在这里插入图片描述
在这里插入图片描述
出现了一个gitee的地址 以我之前的为例 https://gitee.com/dengbaikun/6cdhjdt1yz
打开我的gitee 新建仓库
在这里插入图片描述
必须是开源的
创建完之后
自己请求一下
https://gitee.com/dengbaikun/6cdhjdt1yz 能否访问 如果可以访问既可以通过验证了

三、配置GPG

到https://gpg4win.org/download.html 下载
在这里插入图片描述
进行安装
验证gpg是否验证成功
在这里插入图片描述
配置密钥
gpg --gen-key 生成key

gpg --list-keys 查看keys
在这里插入图片描述

# 发布公钥
gpg --keyserver keyserver.ubuntu.com --send-keys 5CC07AA0B6236AAC20C25D3421EA2B94594210D3
gpg --keyserver pgp.mit.edu --send-keys 5CC07AA0B6236AAC20C25D3421EA2B94594210D3
#发布密钥到 keys.openpgp.org
gpg --export 邮箱@foxmail.com > my_key.pub
#生成后my_key.pub 通过 https://keys.openpgp.org/upload 上传上去
#验证是否发布成功
gpg --keyserver keyserver.ubuntu.com --recv-keys 5CC07AA0B6236AAC20C25D3421EA2B94594210D3
gpg --keyserver keys.openpgp.org --recv-keys 5CC07AA0B6236AAC20C25D3421EA2B94594210D3gpg --keyserver pgp.mit.edu --recv-keys  5CC07AA0B6236AAC20C25D3421EA2B94594210D3

生成后my_key.pub 通过 https://keys.openpgp.org/upload 上传上去
生成后my_key.pub 通过 https://keys.openpgp.org/upload 上传上去

在这里插入图片描述

四、配置 maven的settings.xml

https://central.sonatype.com/account
在这里插入图片描述

<server><id>central</id><username>asa2gZyr</username><password>asdfvo4qXpAOFXNqiA6UQaa1Y6xJKRTuxZ7/MfYVeo1G</password>
</server>

把这段复制到 自己的maven的settings.xml文件中

五、配置 maven项目的pom

下面是必须的完成要加的内容

<properties><maven.compiler.source>8</maven.compiler.source><maven.compiler.target>8</maven.compiler.target><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding></properties><name>dengbaikun</name><description>dengbaikun</description><url>https://gitee.com/dengbaikun</url><licenses><license><name>Apache License, Version 2.0</name><url>http://www.apache.org/licenses/LICENSE-2.0</url></license></licenses><developers><developer><name>dengbaikun</name><email>自己的邮箱</email></developer></developers><scm><url>scm:git:git@gitee.com:dengbaikun/6cdhjdt1yz.git</url><connection>scm:git:git@gitee.com:dengbaikun/6cdhjdt1yz.git</connection><developerConnection>scm:git:git@gitee.com:dengbaikun/6cdhjdt1yz.git</developerConnection><tag>master</tag></scm><distributionManagement><snapshotRepository><id>central</id><url>https://oss.sonatype.org/content/repositories/snapshots</url></snapshotRepository><repository><id>central</id><url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url></repository></distributionManagement><profiles><profile><id>release</id><build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-checkstyle-plugin</artifactId><version>3.1.2</version><configuration><skip>true</skip><!---跳过样式检查--></configuration></plugin><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-pmd-plugin</artifactId><version>3.15.0</version><configuration><skip>true</skip>><!---跳过命令检查--></configuration></plugin><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-javadoc-plugin</artifactId><version>3.6.3</version><configuration><encoding>UTF-8</encoding><charset>UTF-8</charset><docencoding>UTF-8</docencoding><additionalOptions>-Xdoclint:none</additionalOptions><!---这里是为了跳过doc一些验证error变成warn警告 允许通过--></configuration><executions><execution><id>attach-javadocs</id><goals><goal>jar</goal></goals></execution></executions></plugin><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</goal></goals></execution></executions></plugin><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-release-plugin</artifactId><version>3.0.1</version><configuration><autoVersionSubmodules>true</autoVersionSubmodules><mavenExecutorId>forked-path</mavenExecutorId><useReleaseProfile>false</useReleaseProfile></configuration></plugin><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-enforcer-plugin</artifactId><version>3.4.1</version><executions><execution><id>enforce-no-snapshots</id><goals><goal>enforce</goal></goals><configuration><rules><requireReleaseDeps><message>No Snapshots Allowed!</message><onlyWhenRelease>true</onlyWhenRelease></requireReleaseDeps></rules><fail>true</fail></configuration></execution></executions></plugin><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-gpg-plugin</artifactId><version>3.1.0</version><configuration><gpgArguments><arg>--batch</arg></gpgArguments></configuration><executions><execution><id>sign-artifacts</id><phase>verify</phase><goals><goal>sign</goal></goals></execution></executions></plugin><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><autoPublish>true</autoPublish><waitUntil>validated</waitUntil></configuration></plugin></plugins></build></profile></profiles>

最后执行 mvn clean deploy -P release
在这里插入图片描述
然后我们根据上图的提示
打开https://central.sonatype.com/publishing/deployments
查看发布情况
在这里插入图片描述
等待变绿就可以

检验是否成功可以在这里搜索自己的artifactId
在这里插入图片描述
在这里插入图片描述
或者可以在 https://repo.maven.apache.org/maven2
这里打开看下有没有自己的包
在这里插入图片描述
出现了就代表成功了

六、拉取自己上传的中央仓库包(这里以为maven项目)

在pom中添加

<dependencies><dependency><groupId>io.gitee.dengbaikun</groupId><artifactId>test-deploy</artifactId><version>1.0.0</version></dependency></dependencies><repositories><repository><id>central</id><url>https://repo.maven.apache.org/maven2</url></repository></repositories>

就会从repo.maven.apache.org/maven2 拉取刚发布的包

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/19520.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java时间类--JDK8

为什么JDK8会又新增时间相关类呢&#xff1f; ① JDK7的时间对象如果需要比较大小的话&#xff0c;必须都先转换成毫秒值&#xff1b;JDK8则不需要&#xff0c;可以直接比较。 ② JDK7的时间对象可以修改&#xff0c;在多线程环境下就会导致数据不安全&#xff1b;JDK8不能修改…

数据库open报ORA-600 kcratr_scan_lastbwr故障处理---惜分飞

由于断电&#xff0c;导致数据库正常open报ORA-600 kcratr_scan_lastbwr错误 Wed Jan 17 18:23:26 2024 ALTER DATABASE MOUNT Successful mount of redo thread 1, with mount id 1028618590 Database mounted in Exclusive Mode Lost write protection disabled Completed:…

【Git】在错误分支上开发了怎么办

情况一&#xff1a;还未提交 git add . 『暂存修改的代码』git stash 『把暂存的文件提交到git的暂存栈』git checkout 『本该提交代码的分支』git stash pop 『取出暂存栈中的代码』 情况二&#xff1a;已提交 git checkout 『不该提交代码提交了代码的分支』git reset HEA…

输入3个字符串,要求将字母按由小到大顺序输出

对于将3个整数按由小到大顺序输出&#xff0c;是很容易处理的。可以按照同样的算法来处理将3个字符串按大小顺序输出。可以直接写出程序。 编写程序&#xff1a; 运行结果&#xff1a; 这个程序是很好理解的。在程序中对字符串变量用关系运算符进行比较&#xff0c;如同对数值…

【Git 版本管理】合并 + 变更,看懂Git

看懂 Git 合并操作分离 HEAD分离 HEAD 测试 相对引用(^ || ~)操作符 ^相对引用 ^ 测试操作符 ~相对引用 ~ 测试 撤销变更Git ResetGit Revert撤销变更 测试 整理提交记录Git Cherry-pick测试 交互式 rebase交互式 rebase 测试 合并操作 关键字&#xff1a;commit、branch、merg…

Minio篇:初识MinIO

1. MinIO快速入门 1.1.MinIO核心概念 下面介绍MinIO中的几个核心概念&#xff0c;这些概念在所有的对象存储服务中也都是通用的。 对象&#xff08;Object&#xff09; 对象是实际的数据单元&#xff0c;例如我们上传的一个图片。 存储桶&#xff08;Bucket&#xff09; 存储…

基于单片机的机械臂的研究

摘要 &#xff1a; 工业机器人是现代科学技术的融合下的产物&#xff0c;属于机电自动化设备的一种。机械臂作为工业机器人的核心&#xff0c;在提高工业生产效率的同时&#xff0c;也保障了工作人员的身心安全。本文以某款基于单片机的机械臂为例&#xff0c;对机械臂的设计方…

【JAVA SE】多态

✨✨欢迎大家来到Celia的博客✨✨ &#x1f389;&#x1f389;创作不易&#xff0c;请点赞关注&#xff0c;多多支持哦&#x1f389;&#x1f389; 所属专栏&#xff1a;JAVA 个人主页&#xff1a;Celias blog~ 目录 引言 一、多态 1.1 多态的概念 1.2 多态的实现条件 1.3…

AI未来预测

随着科技的飞速发展&#xff0c;人工智能&#xff08;AI&#xff09;已经成为了当今世界的热门话题。从自动驾驶汽车到智能家居&#xff0c;从虚拟助手到机器人&#xff0c;AI的应用已经渗透到了我们生活的方方面面。在未来&#xff0c;AI将会继续改变我们的生活方式&#xff0…

深入探讨 Android 的 View 显示过程与源码分析

文章目录 1. 探讨 Android 的 View 显示过程1.1. onFinishInflate1.2. onAttachedToWindow1.3. onMeasure1.4. onSizeChanged1.5. onLayout1.6. onDraw 2. 系统代码分析1.1. onFinishInflate1.2. onAttachedToWindow1.3. onMeasure1.4. onSizeChanged1.5. onLayout1.6. onDraw …

【Spring Boot】SpringBoot 下在 yml 中的 logging 日志配置

文章目录 前言输出日志的级别日志输出的位置日志输出的格式日志文件的存储路径日志文件是否输出到控制台配置Logback 配置日志分组配置日志细粒度配置【logger】 前言 logging 配置主要用于控制应用程序的日志输出行为&#xff0c;可以通过配置定制日志的格式、级别、输出位置…

数字化浪潮中的TPM革新:打造高效生产新范式

在数字化浪潮席卷全球的今天&#xff0c;传统生产管理模式正面临前所未有的挑战与机遇。TPM&#xff08;全面生产维护&#xff09;作为一种先进的生产管理理念&#xff0c;如何在数字化驱动下焕发新的活力&#xff0c;成为制造业转型升级的关键一环。 数字化技术为TPM带来了前…

Ubuntu禁止内核自动更新

查看当前内核版本 uname -v #35~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Tue May 7 09:00:52 UTC 2 uname -a Linux GKJ 6.5.0-35-generic #35~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Tue May 7 09:00:52 UTC 2 x86_64 x86_64 x86_64 GNU/Linux uname -r 6.5.0-35-generic 方法1&am…

EureKa是什么?

Eureka 是一个源于 Netflix 公司的开源项目&#xff0c;主要用于实现服务注册和服务发现的功能。它是构建分布式系统中的微服务架构的一个关键组件。下面是对 Eureka 的解释&#xff1a; 基本概念 Eureka 是基于 REST 的服务&#xff0c;主要用于管理微服务架构中的服务实例的…

探秘Flask中的表单数据处理

新书上架~&#x1f447;全国包邮奥~ python实用小工具开发教程http://pythontoolsteach.com/3 欢迎关注我&#x1f446;&#xff0c;收藏下次不迷路┗|&#xff40;O′|┛ 嗷~~ 目录 一、引言 二、Flask中的表单处理机制 三、Flask表单处理实战 四、处理表单数据的注意事项…

为什么要使用动态代理IP?

一、什么是动态代理IP&#xff1f; 动态代理IP是指利用代理服务器来转发网络请求&#xff0c;并通过不断更新IP地址来保护访问者的原始IP&#xff0c;从而达到匿名访问、保护隐私和提高访问安全性的目的。动态代理IP在多个领域中都有广泛的应用&#xff0c;能够帮助用户…

vue路由跳转之【编程式导航与传参】

vue路由有两种跳转方式 ----> 编程式与声明式&#xff0c;本文重点讲解vue路由的【编程式导航 】【编程式导航传参 ( 查询参数传参 & 动态路由传参 ) 】等内容&#xff0c;并结合具体案例让小伙伴们深入理解 &#xff0c;彻底掌握&#xff01;创作不易&#xff0c;需要的…

2023年全球DDoS攻击现状与趋势分析

天翼安全科技有限公司副总工程师、运营保障部总经理陈林表示&#xff0c;2023年扫段攻击频次快速增长&#xff0c;成为网络基础设施面临的最大威胁。为躲避防御&#xff0c;低速扫段攻击成为主流达到攻击总数的73.19%&#xff1b;43.26%的C段攻击持续时间小于5分钟&#xff0c;…

医疗器械企业中图纸文件防泄密使用数据透明加密系统

医疗器械行业中因为企业的技术图纸需要保密&#xff0c;现有的从国家层面还是社会层面到个人层面对数据安全的防护意识不断的加强&#xff0c;企业中需要能够防止公司研发设计的图纸文件外泄的情况&#xff0c;透明加密软件无疑是能够帮助企业解密数据防泄密问题的最佳解决方案…

Linux中部署MinIO

Linux中部署MinIO 下载MinIO可执行程序&#xff1a; wget https://dl.min.io/server/minio/release/linux-amd64/minio 添加执行权限&#xff1a; chmod x minio 创建存储目录&#xff0c;例如/data&#xff1a; mkdir -p /data 运行MinIO服务器&#xff0c;需要设置MIN…