怎么将自己的Maven项目上传到Maven中央仓库/Maven阿里云云效仓库

前言

对于工作了多年的老程序员来说,往往会总结出一些比较好用的开发工具包。那么如果把这些好的工具插件共享出来供大家快速的使用呢,最好的方式就是将这些工具插件上传到Maven中央仓库/Maven阿里云云效仓库,这样,有需要用到这些工具插件的同学之间通过maven导入这些工具插件就可以快速使用了。下面我将一步一步教大家怎么将自己总结的工具插件上传到Maven中央仓库/Maven阿里云云效仓库。

一、准备工作

  • Github / Gitee 或者其他代码托管平台账号

二、注册issues.sonatype.org账号

  • 如下图,打开https://issues.sonatype.org/网站,点击“Sign up”创建一个账号。
    在这里插入图片描述
  • 填写注册信息,进行注册。
    在这里插入图片描述
  • 注册成功 登录新建项目
    在这里插入图片描述
  • 看注释:
    Group Id如果是自己的域名,则需要验证域名可用性,如果是Gitee/Githup的域名,则不需要验证
    验证域名的话可以在DNS中做如下解析:
    在这里插入图片描述
    如果是使用Gitee/Githup的话按照提示创建项目即可。

在这里插入图片描述

三、下载安装Gpg4Win

下载地址官网:https://www.gpg4win.org/

  • 创建密钥
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  • 上传密钥
    在这里插入图片描述

四、配置本地maven的settings文件

  • 配置servers
配置servers<servers><server><id>ossrh</id><username>第一步注册的账号issues.sonatype.org账号</username><password>第一步注册的密码issues.sonatype.org密码</password></server>
</servers>
  • 配置profiles
<profiles>
<profile><id>ossrh</id><activation><activeByDefault>true</activeByDefault></activation><properties><gpg.executable>这里填你安装的GnuPG位置D:\app\GnuPG\bin\gpg.exe</gpg.executable><gpg.passphrase>刚才你生成密钥时输入的密码</gpg.passphrase><gpg.homedir>这里填你秘钥在磁盘上的位置C:\Users\xql15\AppData\Roaming\gnupg</gpg.homedir></properties>
</profile>
</profiles>

五、配置上传项目的pom文件

build plugins必须添加maven-javadoc-plugin;maven-source-plugin;maven-gpg-plugin,否则在发布到sonatype进行验证时会报错

<?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>com.gitee.xu_qing_lei</groupId><name>utils</name><artifactId>utils</artifactId><version>1.0</version><packaging>jar</packaging><description>init</description><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><maven.compiler.source>1.8</maven.compiler.source><maven.compiler.target>1.8</maven.compiler.target></properties><!--开源协议--><licenses><license><name>Apache License, Version 2.0</name><url>http://www.apache.org/licenses/LICENSE-2.0.txt</url><distribution>repo</distribution><comments>A business-friendly OSS license</comments></license></licenses><!--项目地址--><url>https://gitee.com/xu_qing_lei/utils</url><!--开发者信息--><developers><developer><id>utils</id><name>utils</name><email>2606482590@qq.com</email><roles><role>Developer</role></roles><timezone>+8</timezone></developer></developers><!--项目在github或其它托管平台的地址--><scm><connection>https://gitee.com/xu_qing_lei/utils.git</connection><developerConnection>scm:git:ssh://git@gitee.com:xu_qing_lei/utils.git</developerConnection><url>https://gitee.com/xu_qing_lei/utils/tree/master</url></scm><dependencies><!--项目依赖--><dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>1.3.2</version></dependency></dependencies><build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-source-plugin</artifactId><version>2.2.1</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><additionalJOptions><additionalJOption>-Xdoclint:none</additionalJOption></additionalJOptions></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>1.5</version><executions><execution><id>sign-artifacts</id><phase>verify</phase><goals><goal>sign</goal></goals></execution></executions></plugin></plugins></build><distributionManagement><snapshotRepository><id>ossrh</id><url>https://s01.oss.sonatype.org/content/repositories/snapshots</url></snapshotRepository><repository><id>ossrh</id><url>https://s01.oss.sonatype.org/service/local/staging/deploy/maven2/</url></repository></distributionManagement></project>

六、打包 上传deploy

mvn clean compile package deploy

执行完成会弹窗 输入第一次生成密匙的密码
在这里插入图片描述

七、登录s01.oss.sonatype.org完成最后的发布

账号密码同第一步注册的issues.sonatype.org
按照下图步骤一步一步操作
在这里插入图片描述
在点击Close 验证的时候可能会出现错误,导致不能执行下一步,这个时候需要调整项目pom配置,调整好后,重新发布,再次验证不报错即可
在这里插入图片描述

八、查看结果

发布完后,大概半小时后可以在Maven中央仓库看到:https://central.sonatype.com/
然后可以在https://mvnrepository.com/
和Maven阿里云云效仓库https://developer.aliyun.com/mvn/search 查询到。

附录:参考资料

https://blog.csdn.net/Nuomen/article/details/129240511
https://blog.csdn.net/qq_42264638/article/details/130207209
https://blog.csdn.net/g5zhu5896/article/details/129775658
https://cloud.tencent.com/developer/article/2120266

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

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

相关文章

八大排序(一)冒泡排序,选择排序,插入排序,希尔排序

一、冒泡排序 冒泡排序的原理是&#xff1a;从左到右&#xff0c;相邻元素进行比较。每次比较一轮&#xff0c;就会找到序列中最大的一个或最小的一个。这个数就会从序列的最右边冒出来。 以从小到大排序为例&#xff0c;第一轮比较后&#xff0c;所有数中最大的那个数就会浮…

verilog学习笔记(1)module实例化

兜兜转转又回来学硬件了&#xff0c;哎&#xff0c;命啊&#xff01; 我的答案&#xff08;有bug&#xff09;&#xff1a; module top_module ( input a, input b, output out );wire w1;wire w2;wire w3;mod_a mod_a_inst1(.in1(w1),.in2(w2),.out(w3) );assign w1 a…

基于微信小程序的房屋租赁系统设计与实现(源码+lw+部署文档+讲解等)

文章目录 前言运行环境说明用户微信小程序端的主要功能有&#xff1a;户主微信小程序端的主要功能有&#xff1a;管理员的主要功能有&#xff1a;具体实现截图详细视频演示为什么选择我自己的网站自己的小程序&#xff08;小蔡coding&#xff09;有保障的售后福利 代码参考论文…

解决 Github port 443 : Timed out

解决方法 打开代理页面 打开 设置 --> 网络与Internet --> 查找代理 记录下当前系统代理的 IP 地址和端口号 如上图所示&#xff0c;地址与端口号为&#xff1a;127.0.0.1:7890 注意修改成自己的IP和端口号 git config --global http.proxy http://127.0.0.1:7890 gi…

Spring面试题12:Spring中IOC的优缺点是什么?IOC依赖注入方式有哪些

该文章专注于面试,面试只要回答关键点即可,不需要对框架有非常深入的回答,如果你想应付面试,是足够了,抓住关键点 面试官:Spring中IOC的优缺点是什么? IOC(Inversion of Control,控制反转)是Spring框架的一个重要特性,它实现了对象的创建和依赖关系的管理的反转。…

【Linux】Linux环境配置安装

目录 一、双系统&#xff08;特别不推荐&#xff09; 安装双系统的缺点&#xff1a; 安装双系统优点&#xff08;仅限老手&#xff09;&#xff1a; 二、虚拟机centos7镜像&#xff08;较为推荐推荐&#xff09; 虚拟机的优点&#xff1a; 虚拟机的缺点&#xff1a; ​ …

6年Android开发前10月的总结,写给正在求职的安卓开发

进入大厂工作对许多人来说已经是一种挑战&#xff0c;但只要充分准备&#xff0c;很多问题都可以逐步解决。当然&#xff0c;运气也起到了一定的作用&#xff0c;但最终还是与自身的努力密不可分。运气是实力的一部分&#xff0c;因为自助者天助。 每到10月进行总结时&#xff…

数据结构与算法(二)

文章目录 数据结构与算法(二)1 时间复杂度、空间复杂度、排序算法和二分法1.1 简单的排序算法1.2 二分查找2 异或运算、进一步认识对数器的重要性2.1 不用额外变量交换两个数的值2.2 不用额外变量交换数组中两个数的值2.3 一个数组中有一种数出现了奇数次,其他数都出现了偶数…

读写分离MySQL

利用Mycat控制后台数据库的读写分离和负载均衡 利用主从复制思想,实现读写分离,主库写,从库读 从库最好不要写,因为从库写入的数据不能同步到主库,只有主库写的数据才能同步到从库 balance属性值对应的含义(负载均衡) 一主一从读写分离的弊端 主节点Master宕机以后,业务系统…

docker 操作redis

1查看容器 2进入容器 exec表示在运行的容器中执行命令it表示以终端交互的方式执行命令/bin/bash表示需要指定的命令 3进入容器后可通过redis-cli命令连接容器内的redis服务器&#xff0c;可通过set创建变量&#xff0c;get获取变量的值 4key * 查看所有key 通过ping 查看redi…

【深度学习实验】前馈神经网络(final):final

目录 一、实验介绍 二、实验环境 1. 配置虚拟环境 2. 库版本介绍 三、实验内容 0. 导入必要的工具包 1. 构建数据集&#xff08;IrisDataset&#xff09; 2. 构建模型&#xff08;FeedForward&#xff09; a. __init__(初始化) b. forward(前向传播) 3.整合训练、评估…

golang优先级坑

看如下代码&#xff0c;我本以为a1, a2是相同的 package mainimport "fmt"func main() {b, c, d : 1, 0, 1a1 : b ^ c&(^d) // 1 ^a2 : c ^ b&(^d) // 0 ^fmt.Println(a1, a2) // 1 0 }但结果却是不同的&#xff0c;在golang中&的优先级^和&#xff5c;…

罗德里格斯公式

1.点乘 A ⃗ ⋅ B ⃗ ∣ A ⃗ ∣ ∣ B ⃗ ∣ c o s ⟨ A ⃗ , B ⃗ ⟩ \vec{A} \cdot \vec{B} \left | \vec{A} \right | \left | \vec{B} \right | cos\left \langle \vec{A}, \vec{B} \right \rangle A ⋅B ​A ​ ​B ​cos⟨A ,B ⟩ 对应几何意义&#xff1a;向量 A ⃗…

众佰诚:抖音店铺开网店前期需要投入多少

随着互联网的迅猛发展&#xff0c;电子商务已经成为了商业领域中的一股不可忽视的力量。而在电子商务中&#xff0c;抖音店铺已经成为了一个备受关注的平台&#xff0c;吸引了众多创业者和商家的关注。那么&#xff0c;在开设抖音店铺并转型为网店之前&#xff0c;究竟需要投入…

SVN的基本使用

一、SVN介绍 SVN&#xff08;Subversion&#xff09;是一个开源的版本控制系统&#xff0c;它专门用于管理文件和目录的变更。SVN 提供了一种集中式的版本控制方案&#xff0c;其中有一个中央仓库存储所有文件的历史记录和变更。 SVN使用方式相对简单&#xff0c;可以通过命令…

ROS 基础教程

欢迎访问我的博客首页。 ROS 基础教程 1.urdf 文件1.1 在 Rviz 中显示 urdf1.1.1 定义 urdf1.1.2 在 Rviz 中查看 urdf 1.2 在 Gazebo 中显示 urdf1.2.1 定义 urdf1.2.2 在 Gazebo 中查看 urdf 2.建图-仿真2.1 模型 1.urdf 文件 假设我们的工作空间是 ws_ros。我们自己实现的包…

有效保护敏感数据的最佳实践

在当今数据驱动的环境中&#xff0c;数据就是力量&#xff0c;组织仍然高度关注如何利用其数据进行 BI、分析和其他业务驱动计划。 事实上&#xff0c;最近的研究表明&#xff0c;数据领导者的主要动机是对高质量分析洞察的需求&#xff0c;而不是合规性。 然而&#xff0c;…

Centos7原生hadoop环境,搭建Impala集群和负载均衡配置

Centos7原生hadoop环境&#xff0c;搭建Impala集群和负载均衡配置 impala介绍 Impala集群包含一个Catalog Server (Catalogd)、一个Statestore Server (Statestored) 和若干个Impala Daemon (Impalad)。Catalogd主要负责元数据的获取和DDL的执行&#xff0c;Statestored主要负…

greenhills compiler 2021.1.4 for x86 Linux

greenhills compiler 2021.1.4 for x86 Linux 2692407267qq.com&#xff0c;更多内容请见http://user.qzone.qq.com/2692407267/

ipad触控笔有必要买原装吗?ipad2023手写笔推荐

目前&#xff0c;在无纸教学、无纸办公的大背景下&#xff0c;电容笔得到了广泛的关注。只是&#xff0c;对于这两支电容笔的不同之处&#xff0c;不少人并不是很清楚。其实这两种电容笔都很好区分&#xff0c;第一种是主动电容笔&#xff0c;也就是我们常用的电容式屏幕&#…