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

news2024/11/20 18:44:11

上传自己的依赖到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 init

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

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

3|git pull origin master

4|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.coloradmin.cn/o/1358297.html

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

相关文章

【CSS】设置0.5px的边框宽度

直接写border: 0.5px solid red; 这样在移动端可能会出现问题&#xff0c;下面说下解决办法&#xff1a; 直接上代码&#xff1a; <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta http-equiv"X-UA-C…

SCADE—产品级安全关键系统的MBD开发套件

产品概述 随着新能源三电、智能驾驶等新技术的应用&#xff0c;汽车中衍生出很多安全关键零部件&#xff0c;如BMS、VCU、MCU、ADAS等&#xff0c;相应的软件在汽车中的比重越来越大&#xff0c;并且安全性、可靠性要求也越来越高。ANSYS主要针对安全关键零部件的嵌入式产品级软…

通过消费者特征,设计更符合市场的商业模式,树立标杆用户拓展用户圈层

迅腾文化观察&#xff1a;通过消费者特征&#xff0c;设计更符合市场的商业模式&#xff0c;树立标杆用户拓展用户圈层 在当今快速变化的市场环境中&#xff0c;企业需要不断创新和调整自己的商业模式&#xff0c;以适应消费者的需求和市场的发展。迅腾文化观察到&#xff0c;…

西门子消防主机控制面板显示盘维修B3Q565

作为图形监控主机&#xff0c;负责接收并储存各消防设备主要运行状态&#xff0c;接收火灾报警并显示报警部位&#xff0c;包括火灾报警、状态监视、设备故障报警、网络故障报警﹐指挥抢险救援的活动,进行火灾信息的处理与传送&#xff0c;同时具备提示操作人员的功能&#xff…

中国到雅加达 | 专业双清,轻松畅达印尼!

中国到雅加达 | 专业双清&#xff0c;轻松畅达印尼&#xff01;&#x1f30f;&#x1f69a; 嗨&#xff0c;亲爱的小伙伴们&#xff01;如果你正在考虑从中国发货到雅加达&#xff0c;那么我们的专业双清将是你的不二之选&#xff01;✈️&#x1f4e6; 亮点&#xff1a; 空运…

Grounding 模型 + SAM 报错

引入 Grounding 目标检测模型串联 SAM 从而实现实例分割任务&#xff0c;目前支持 Grounding DINO 和 GLIP 参考教程 MMDetection-SAM 如果是 Grounding DINO 则安装如下依赖即可 cd playground pip install githttps://github.com/facebookresearch/segment-anything.git pip…

基于安卓平台的汉语言学习应用系统的设计与实现-计算机毕业设计源码80400

摘 要 在信息飞速发展的今天&#xff0c;网络已成为人们重要的信息交流平台。每天都有大量的农产品需要通过网络发布&#xff0c;为此&#xff0c;本人开发了一个基于Android模式的汉语言学习应用系统。 对于本汉语言学习应用系统的设计来说&#xff0c;它主要是采用后台采用j…

项目经理如何管理团队成员,把控项目进度

王博刚成为项目经理&#xff0c;公司给他了一个项目&#xff0c;一段时间后由于公司业务扩大&#xff0c;又给了王博一个项目&#xff0c;他两个项目搞的王博筋疲力尽&#xff0c;王博也安排任务而感到苦恼&#xff0c;主要在以下几个方面: 1、安排任务给项目成员&#xff0c;…

新手教师的三个阶段

当你踏入教育行业&#xff0c;成为一名新手教师时&#xff0c;可能会感到迷茫和不知所措。但是&#xff0c;请相信&#xff0c;每一位优秀教师都曾经是新手&#xff0c;他们也有过类似的感受。本文将为你揭示新手教师的三个成长阶段&#xff0c;帮助你更快地适应教育工作&#…

索引类型-哈希索引

一. 前言 前面我们简单介绍了数据库的B-Tree索引&#xff0c;下面我们介绍另一种索引类型-哈希索引。 二. 哈希索引的简介 哈希索引(hash index) 基于哈希表实现&#xff0c;只有精确匹配索引所有列的查询才有效。对于每一行数据&#xff0c;存储引擎都会对所有索引列计算一个…

BLE Mesh蓝牙组网技术详细解析之Model Layer模型层(八)

目录 一、什么是BLE Mesh Model Layer模型层&#xff1f; 二、SIG Model 2.1 模型概念 2.2 消息格式 2.3 开关模型 四、资料获取 一、什么是BLE Mesh Model Layer模型层&#xff1f; Models Layer的作用是定义了一些通用的或特定的模型&#xff0c;用于实现网络节点设备…

记一次 .NET某股票交易软件 灵异崩溃分析

一&#xff1a;背景 1. 讲故事 在dump分析的旅程中也会碰到一些让我无法解释的灵异现象&#xff0c;追过这个系列的朋友应该知道&#xff0c;上一篇我聊过 宇宙射线 导致的程序崩溃&#xff0c;后来我又发现了一例&#xff0c;而这一例恰恰是高铁的 列控连锁一体化 程序&…

制药厂污废水处理需要哪些设备和工艺要求

制药厂是一种特殊的工业企业&#xff0c;其生产过程中会产生大量的废水&#xff0c;其中含有各种有害物质和化学物质。为了保护环境和人民的身体健康&#xff0c;制药厂需要对污废水进行有效的处理。那么&#xff0c;制药厂污废水处理需要哪些设备和工艺要求呢&#xff1f; 首先…

谈谈自己对于 Spring IoC 的了解

如果你现在需要准备面试&#xff0c;可以关注我的公众号&#xff1a;”Tom聊架构“&#xff0c;回复暗号&#xff1a;”578“&#xff0c;领取一份我整理的50W字面试宝典&#xff0c;可以帮助你提高80%的面试通过率&#xff0c;价值很高&#xff01;&#xff01; IoC&#xff0…

与ChatGPT一起完成Python4Delphi在Linux下的使用

我要做的功能很简单&#xff0c;获取各个国家手机号的区号&#xff0c; 如我的手机号8618957901025&#xff0c;能将86获取出来&#xff0c; 谷歌提供了一个phonenumbers库能实现&#xff0c; 我当然没指望它能有Delphi版的&#xff0c; 但是它有Python版的&#xff0c; 那…

Parasoft发布C/C++test 2023.2:为C++开发人员赋能

Parasoft推出了C开发领域的变革性工具——最新版本的C/Ctest 2023.2。这次更新为开发人员提供了一整套新功能、增强功能和合规性工具&#xff0c;从而改革软件开发生命周期。使用Parasoft C/Ctest 2023.2&#xff0c;用户就拥有了一个可以保证他们的C17代码符合MISRA C 2023的解…

论Acrel-2000MG微电网能量管理系统在储能行业的应用-安科瑞 蒋静

一、概述: 在新型电力系统中新能源装机容量逐年提高&#xff0c;但是新能源比如光伏发电、风力发电是不稳定的能源&#xff0c;所以要维持电网稳定&#xff0c;促进新能源发电的消纳&#xff0c;储能将成为至关重要的一环&#xff0c;是分布式光伏、风电等新能源消纳以及电网安…

DS|二叉树

题目一&#xff1a;DS二叉树 -- 二叉树构建与遍历 题目描述&#xff1a; 给定一颗二叉树的逻辑结构如下图&#xff0c;&#xff08;先序遍历的结果&#xff0c;空树用字符‘#’表示&#xff0c;例如AB#C##D##&#xff09;&#xff0c;建立该二叉树的二叉链式存储结构&#xf…

【React系列】JSX核心语法和原理

本文来自#React系列教程&#xff1a;https://mp.weixin.qq.com/mp/appmsgalbum?__bizMzg5MDAzNzkwNA&actiongetalbum&album_id1566025152667107329) 一. ES6 的 class 虽然目前React开发模式中更加流行hooks&#xff0c;但是依然有很多的项目依然是使用类组件&#x…

李沐机器学习系列5---循环神经网络

1 Introduction 对于样本的分析&#xff0c;通过全连接层处理表格数据&#xff0c;通过卷积神经网络处理图像数据&#xff1b;第一种假设&#xff0c;所有数据都是独立同分布的RNN 处理序列信号 序列数据的更多场景 1&#xff09;用户使用习惯具有时间的先后性 2&#xff09;外…