上传自己的依赖到maven仓库 -- 保姆级复盘

上传自己的依赖到maven仓库 -- 保姆级复盘

  • 1、准备工作
    • 1.1、安装Git
    • 1.2、将需要上传的代码先上传到Gitee中
      • 1.2.1、上传步骤
      • 1.2.2、如果出现以下错误(主要原因是gitee中README.md文件和本地不一致,或者不在本地代码目录中)
  • 2、sonatype注册登录,并发布issue
  • 3 、等待管理员回复
  • 4、安装gpg,用来创建公钥和私钥
    • 1、软件获取
    • 2、打开安装好的软件,按照以下步骤创建
    • 3、打开powershell,上传密钥id,上传到服务器
    • 4、修改你上传代码的pom文件和setting.xml
      • 1、修改pom文件
      • 2、修改setting.xml
        • 1、找到你的setting.xml文件位置
        • 2、打开setting.xml
      • 3、以下部分不需要修改,但有一部分需要注意
    • 5、打开下面的链接

1、准备工作

1.1、安装Git

回顾此前的安装教程:https://blog.csdn.net/qq_52495761/article/details/135400783

1.2、将需要上传的代码先上传到Gitee中

1.2.1、上传步骤

1、在Gitee中创建一个空仓库
在这里插入图片描述
2、找到你需要上传的代码的根目录,点击鼠标右键找到Git Bash Here
在这里插入图片描述
3、进入命令Git Bash Here界面
在这里插入图片描述
4、具体上传步骤Bash如下:

1|git init2|git remote add origin 你所创建的仓库地址

你所创建的仓库地址
在这里插入图片描述

3|git pull origin master4|git add .5|git commit -m "描述"6|git push origin master

正常通过以上的步骤再打开Gitee,刷新一下就能看见你所提交的代码

如果你需要将已经上传的,但是又修改过的再次上传,只需要执行4,5,6即可

1.2.2、如果出现以下错误(主要原因是gitee中README.md文件和本地不一致,或者不在本地代码目录中)

在这里插入图片描述
解决
1、如果有README.md,先删除,执行以下命令

git pull --rebase origin master

2、sonatype注册登录,并发布issue

https://issues.sonatype.org/secure/Dashboard.jspa
到这个网站注册登录,保存好你的用户名和密码,在后面发布jar包有用。
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

3 、等待管理员回复

在这里插入图片描述
当回复以下内容,说明即可使用了
在这里插入图片描述
在这里插入图片描述

4、安装gpg,用来创建公钥和私钥

1、软件获取

1、下载地址:https://www.gpg4win.org/download.html
2、若觉得下载慢可在此处获取:
链接:https://pan.baidu.com/s/1HTRpilCSZCaX3K0T746PXg?pwd=kdom
提取码:kdom

2、打开安装好的软件,按照以下步骤创建

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3、打开powershell,上传密钥id,上传到服务器

//上传
gpg --keyserver hkp://keyserver.ubuntu.com:11371 --send-keys 你自己的密钥(去重空格)

在这里插入图片描述

//检验
gpg --keyserver hkp://keyserver.ubuntu.com:11371 --recv-keys 你自己的密钥(去重空格)

在这里插入图片描述

4、修改你上传代码的pom文件和setting.xml

1、修改pom文件

这些信息要与你当时发布问题填的要一样
在这里插入图片描述

<!--gav信息--><name>自定义名</name><groupId>你自己的</groupId><artifactId>你自己的</artifactId><version>0.0.1-SNAPSHOT</version><description>描述</description><properties><serverId>ossrh</serverId><!-- 服务id 也就是setting.xml中的servers.server.id --><java.version>1.8</java.version><projectUrl>你自己的</projectUrl></properties><!--填入开发者信息,姓名、邮箱、项目地址--><developers><developer><name></name><email></email><url>${projectUrl}</url></developer></developers>

2、修改setting.xml

1、找到你的setting.xml文件位置

在这里插入图片描述

2、打开setting.xml

在这里插入图片描述

<servers><server><id>ossrh</id><username>你自己的</username><password>你自己的</password></server></servers>

在这里插入图片描述

<profile><id>ossrh</id><activation><activeByDefault>true</activeByDefault></activation><properties><gpg.executable>gpg</gpg.executable><gpg.passphrase>你自己的</gpg.passphrase><gpg.homedir>${user.home}/gnupg</gpg.homedir><maven.compiler.source>1.8</maven.compiler.source><maven.compiler.target>1.8</maven.compiler.target><maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion></properties></profile>

3、以下部分不需要修改,但有一部分需要注意

 <!--以下部分内容不需要修改,直接复制咱贴即可--><url>${projectUrl}</url><licenses><license><name>The Apache Software License, Version 2.0</name><url>http://www.apache.org/licenses/LICENSE-2.0.txt</url><distribution>repo,manual</distribution></license></licenses><scm><!-- 采用projectUrl变量代替这个值,方便给重复利用这个配置,也就是上面的标签替换一下值就行 --><connection>${projectUrl}</connection><developerConnection>${projectUrl}</developerConnection><url>${projectUrl}</url></scm><distributionManagement><snapshotRepository><!--这个id和settings.xml中servers.server.id要相同,因为上传jar需要登录才有权限--><id>${serverId}</id><name>OSS Snapshots Repository</name><url>https://s01.oss.sonatype.org/content/repositories/snapshots/</url></snapshotRepository><repository><!--这个id和settings.xml中servers.server.id要相同,因为上传jar需要登录才有权限--><id>${serverId}</id><name>OSS Staging Repository</name><url>https://s01.oss.sonatype.org/service/local/staging/deploy/maven2/</url></repository></distributionManagement><build><plugins><!-- 编译插件,设置源码以及编译的jdk版本 --><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><configuration><source>8</source><target>8</target></configuration></plugin><!--打包源码的插件--><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><!-- Javadoc 文档生成插件--><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-javadoc-plugin</artifactId><version>2.9.1</version><configuration><!-- 忽略生成文档中的错误 --><additionalparam>-Xdoclint:none</additionalparam><aggregate>true</aggregate><charset>UTF-8</charset><!-- utf-8读取文件 --><encoding>UTF-8</encoding><!-- utf-8进行编码代码 --><docencoding>UTF-8</docencoding><!-- utf-8进行编码文档 --></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><!--部署插件--><plugin><groupId>org.sonatype.plugins</groupId><artifactId>nexus-staging-maven-plugin</artifactId><version>1.6.7</version><extensions>true</extensions><configuration><serverId>${serverId}</serverId><nexusUrl>https://s01.oss.sonatype.org/</nexusUrl><autoReleaseAfterClose>false</autoReleaseAfterClose></configuration></plugin></plugins></build>

注意部分:

            <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>

配置完这些下一步是在idea中maven下点击deploy

**1、若点击部署时没有报错,而是直接显示下图内容,则不用看注意部分直接跳过:**
在这里插入图片描述
打包时可能会弹出让你输入密码(填的在setting.xml中配置的)
在这里插入图片描述

**2、若点击部署时报以下错误:**
在这里插入图片描述
**解决方法:**
1、可以将以下部分删除

            <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>

2、或者将上面的部分替换成以下内容:

 <plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-gpg-plugin</artifactId><version>1.5</version><configuration><skip>true</skip></configuration></plugin>

**两种方法选其一即可**

5、打开下面的链接

https://s01.oss.sonatype.org/#welcome
登陆(账号密码是sonatype平台注册的)
在这里插入图片描述
在这里插入图片描述**能看到这些就是可以了,直接将依赖引到,你所需要的pom文件即可使用**
在这里插入图片描述

以上只是上传到自己的私服务仓库中,并未发布,个人学习以上足够带来便利,也能给别人,也不一定需要发布。

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

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

相关文章

文件批量重命名:高效整理文件的技巧,随机汉字重命名文件

在数字化时代&#xff0c;每天都要处理大量的文件&#xff0c;无论是文档、图片还是音频、视频。随着时间的推移&#xff0c;文件库可能会变得混乱不堪&#xff0c;难以找到想要的文件&#xff0c;可见文件名有着重要的作用。现在一起来看云炫文件管理器高效的文件整理方法&…

网络调试 TCP,开发板用静态地址-入门7

用两台电脑&#xff08;无线网络&#xff09;做实验 1.1, 在电脑A上设置为Server如下&#xff1a; 选择TCP Server后&#xff0c;直接跳出用本机IP做为“本地主机地址” 1.2在 电脑B上设置为Client, 远程主机地址设置为Server的 IP 1.3, 在A, B两台电脑上能够互相发送数据 用…

构建自己的私人GPT

创作不易&#xff0c;请大家多鼓励支持。 在现实生活中&#xff0c;很多人的资料是不愿意公布在互联网上的&#xff0c;但是我们又要使用人工智能的能力帮我们处理文件、做决策、执行命令那怎么办呢&#xff1f;于是我们构建自己或公司的私人GPT变得非常重要。 一、本地部署…

每天一杯羊奶,让身体更健康

每天一杯羊奶&#xff0c;让身体更健康 羊奶作为一种天然的健康饮品&#xff0c;越来越受到人们的关注和喜爱。它不仅口感醇厚&#xff0c;营养丰富&#xff0c;而且具有独特的保健功效。今天&#xff0c;小编羊大师带大家详细介绍一下每天喝一杯羊奶对身体的好处。 羊奶中的…

Python基础知识总结3-面向对象进阶知识

面向对象三大特征介绍 继承子类扩展父类语法格式关于构造函数&#xff1a;类成员的继承和重写查看类的继承层次结构 object根类dir() 查看对象属性重写 __str__() 方法 多重继承MRO方法解析顺序super()获得父类定义多态特殊方法和运算符重载特殊属性 对象的浅拷贝和深拷贝组合_…

如何利用MiniTab的命令行来提高数据建模效率

使用MiniTab进行数据建模时&#xff0c;如果涉及到需要多次更改数据、多次查看模型&#xff0c;感兴趣的同学可以尝试一下&#xff0c;把命令行显示出来&#xff0c;通过命令行的形式来执行&#xff0c;避免在繁多的菜单中到处查找。 操作方式如下图&#xff1a; 点击菜单“查…

junit单元测试:使用@ParameterizedTest 和 @CsvSource注解简化单元测试方法

在平常的开发工作中&#xff0c;我们经常需要写单元测试。比如&#xff0c;我们有一个校验接口&#xff0c;可能会返回多种错误信息。我们可以针对这个接口&#xff0c;写多个单元测试方法&#xff0c;然后将其场景覆盖全。那么&#xff0c;怎么才能写一个测试方法&#xff0c;…

业务项目中Echarts图表组件的封装实践方案

背景&#xff1a;如果我们的项目是一个可视化类/营销看板类/大屏展示类业务项目&#xff0c;不可避免的会使用到各种图表展示。那在一个项目中如何封装一个图表组件既能够快速复用、UI统一&#xff0c;又可以灵活扩充Echarts的各种复杂配置项配置就变得极为重要。 封装目标 符…

算法第十二天-矩形区域不超过K的最大数值和

矩形区域不超过K的最大数值和 题目要求 解题思路 来自[宫水三叶] 从题面来看显然是一道[二维前缀和]的题目。本题预处理前缀和的复杂度为O(m* n) 搜索所有子矩阵需要枚举[矩形左上角]和[矩形右下角]&#xff0c;复杂度是 O ( m 2 ∗ n 2 ) O(m^2 * n^2) O(m2∗n2)&#xff0c…

【数据库原理】(5)关系数据库的关系数据结构

关系及相关概念 在关系模型中,无论是实体还是实体之间的联系均由关系(二维表)来表示。 1.域&#xff08;Domain&#xff09; 定义&#xff1a;域是一组具有相同数据类型的值的集合。例子&#xff1a;实数集合、整数集合、英文字母集合等。 2.笛卡儿积&#xff08;Cartesian…

YOLOv5改进 | 卷积篇 | SAConv轻量化的可切换空洞卷积(附修改后的C3+Bottleneck)

一、本文介绍 本文给大家带来的改进机制是可切换的空洞卷积(Switchable Atrous Convolution, SAC)是一种创新的卷积网络机制,专为增强物体检测和分割任务中的特征提取而设计。SAC的核心思想是在相同的输入特征上应用不同的空洞率进行卷积,并通过特别设计的开关函数来融合这…

java基础之Java8新特性-Stream(流)

简介 流&#xff08;Stream&#xff09;是 Java 8 引入的一种处理集合数据的抽象概念&#xff0c;它提供了一种更简洁、更灵活的方式来操作和处理集合数据。流可以看作是一系列元素的管道&#xff0c;可以对这些元素进行筛选、转换、排序、归约等操作&#xff0c;实现各种数据…

【人工智能】深入了解人工智能的核心算法与应用实践

人工智能 学习AI要看的第一本书人工智能应当以人为本人工智能&#xff08;第3版&#xff09;通晓六点&#xff0c;明白人工智能是怎么回事基本概念和历史基础知识基于知识的系统高级专题现在和未来安全和编程 人工智能已经是基础学科 学习AI要看的第一本书 人工智能知识对于当…

Unix操作系统的前世今生

Unix是一种多用户、多任务操作系统&#xff0c;最初由AT&T贝尔实验室的肯汤普逊&#xff08;Ken Thompson&#xff09;和丹尼斯里奇&#xff08;Dennis Ritchie&#xff09;等人开发于上世纪70年代初。它被设计成一种通用的操作系统&#xff0c;支持跨多种硬件平台&#xf…

C++入门(详细解读,建议收藏)

&#x1f6a9;C是什么?&#x1f6a9;⛲&#x1f31f;⚡&#x1f966;&#x1f4ac; C语言是结构化和模块化的语言&#xff0c;适合处理较小规模的程序。对于复杂的问题&#xff0c;规模较大的程序&#xff0c;需要高度的抽象和建模时&#xff0c;C语言则不合适。为了解决软件危…

ssm基于Java Web的怀旧唱片售卖系统论文

摘 要 传统办法管理信息首先需要花费的时间比较多&#xff0c;其次数据出错率比较高&#xff0c;而且对错误的数据进行更改也比较困难&#xff0c;最后&#xff0c;检索数据费事费力。因此&#xff0c;在计算机上安装怀旧唱片售卖系统软件来发挥其高效地信息处理的作用&#x…

使用FinalShell连接Linux系统

1.为什么要使用FinalShell连接Linux系统&#xff1f; 如果直接使用VMware上的Linux系统会有很多不方便&#xff1a; 内容的复制粘贴跨越VMware不方便文件的上传、下载跨越VMware不方便 也就是和Linux系统的各类交互&#xff0c;跨越VMware不方便 2.FinalShell下载 FinalSh…

RH850P1X芯片学习笔记-A/D Converter (ADCF)

文章目录 Features of RH850/P1x-C ADCFNumber of UnitsRegister Base AddressClock SupplyInterrupts and DMAHardware ResetExternal Input/Output SignalsVirtual Channel OverviewFunctional OverviewBlock DiagramPhysical Channels, Virtual Channels and Scan Groups Re…

年终总结——平凡又不平凡的2023

前言 总结不知道该如何写起&#xff0c;也不知该如何建立这一篇文章的大致框架&#xff0c;只知道我的2023大概也就分成两大块罢了。说起2023一整年&#xff0c;只能用平凡而又不平凡来形容&#xff0c;平凡在我依旧没有什么太突出的技术点&#xff0c;专业水平也一直处于龟速…

RFID传感器|识读器CNS-RFID-01/1S在AGV小车|搬运机器人领域的安装与配置方法

AGV 在运行时候需要根据预设地标点来执行指令&#xff0c;在需要 AGV 在路径线上位置执行某个指令时候&#xff0c;则需要在这个点设置 命令地标点&#xff0c;AGV 通过读取不同地标点编号信息&#xff0c;来执行规定的指令。读取地标点设备为寻址传感器&#xff0c;目前&#…