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

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

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如下:

bash 复制代码
1|git init

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

你所创建的仓库地址

bash 复制代码
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,先删除,执行以下命令

bash 复制代码
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,上传到服务器

bash 复制代码
//上传
gpg --keyserver hkp://keyserver.ubuntu.com:11371 --send-keys 你自己的密钥(去重空格)
bash 复制代码
//检验
gpg --keyserver hkp://keyserver.ubuntu.com:11371 --recv-keys 你自己的密钥(去重空格)

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

1、修改pom文件

这些信息要与你当时发布问题填的要一样

xml 复制代码
<!--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
xml 复制代码
<servers>
    <server>
      <id>ossrh</id>
      <username>你自己的</username>
      <password>你自己的</password>
	</server>
  </servers>
xml 复制代码
<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、以下部分不需要修改,但有一部分需要注意

xml 复制代码
 <!--以下部分内容不需要修改,直接复制咱贴即可-->
    <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>

注意部分:

xml 复制代码
            <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、可以将以下部分删除

xml 复制代码
            <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、或者将上面的部分替换成以下内容:

xml 复制代码
 <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文件即可使用**

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

相关推荐
张张张31218 分钟前
4.2学习总结 Java:list系列集合
java·学习
KATA~21 分钟前
解决MyBatis-Plus枚举映射错误:No enum constant问题
java·数据库·mybatis
xyliiiiiL37 分钟前
一文总结常见项目排查
java·服务器·数据库
shaoing38 分钟前
MySQL 错误 报错:Table ‘performance_schema.session_variables’ Doesn’t Exist
java·开发语言·数据库
腥臭腐朽的日子熠熠生辉1 小时前
解决maven失效问题(现象:maven中只有jdk的工具包,没有springboot的包)
java·spring boot·maven
ejinxian1 小时前
Spring AI Alibaba 快速开发生成式 Java AI 应用
java·人工智能·spring
杉之2 小时前
SpringBlade 数据库字段的自动填充
java·笔记·学习·spring·tomcat
圈圈编码2 小时前
Spring Task 定时任务
java·前端·spring
俏布斯2 小时前
算法日常记录
java·算法·leetcode
27669582922 小时前
美团民宿 mtgsig 小程序 mtgsig1.2 分析
java·python·小程序·美团·mtgsig·mtgsig1.2·美团民宿