【拥抱开源】发布自己的项目到maven中央仓库

这篇具有很好参考价值的文章主要介绍了【拥抱开源】发布自己的项目到maven中央仓库。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

🎈第一步,注册账号

官网注册账号地址

username不能是中文,不让后面会出问题

maven仓库发布,sonatype,maven,jar,开源
maven仓库发布,sonatype,maven,jar,开源

💿第二步,登录

maven仓库发布,sonatype,maven,jar,开源

📀第三步,设置信息

maven仓库发布,sonatype,maven,jar,开源
maven仓库发布,sonatype,maven,jar,开源

💾第四步,创建问题

maven仓库发布,sonatype,maven,jar,开源
maven仓库发布,sonatype,maven,jar,开源

一定要选如图的选项

maven仓库发布,sonatype,maven,jar,开源

maven仓库发布,sonatype,maven,jar,开源

图4.1

概要:填你的项目名
groupid:如果gitee上的项目就填io.gitee+下图所示antopen,如果是公司(有域名和公司邮箱),就填com.公司名称

maven仓库发布,sonatype,maven,jar,开源
project url:项目地址

maven仓库发布,sonatype,maven,jar,开源
SCM url:项目克隆地址(后面以.git结尾)

maven仓库发布,sonatype,maven,jar,开源

其他的如图4.1所示

📹第五步,验证信息

maven仓库发布,sonatype,maven,jar,开源

意思是说让你创建一个空仓库来验证是不是你本人在操作

maven仓库发布,sonatype,maven,jar,开源

创建即可,要设置为开源,gitee现在默认是私有的

maven仓库发布,sonatype,maven,jar,开源

创建完成之后点击Respond按钮告诉工作人员已经创建好了

我这里已经成功了,所以没有Respond按钮

maven仓库发布,sonatype,maven,jar,开源

🎥第六步,上传jar包到中央仓库

maven仓库发布,sonatype,maven,jar,开源

💻我们先上传snapshot版本的

📺第一步,配置密钥
📱第一步,下载密钥生成器

下载并安装GPG:
https://www.gnupg.org/download/index.html

maven仓库发布,sonatype,maven,jar,开源
maven仓库发布,sonatype,maven,jar,开源
maven仓库发布,sonatype,maven,jar,开源

☎️第二步,生成密钥

maven仓库发布,sonatype,maven,jar,开源

进入bin目录

maven仓库发布,sonatype,maven,jar,开源

gpg --gen-key

依次输入姓名和地址,填你注册sonatype的信息就行了

maven仓库发布,sonatype,maven,jar,开源

然后让你输入密码(私钥密码passphrase

记住,后面要用

maven仓库发布,sonatype,maven,jar,开源


pub   ed25519 2023-01-09 [SC] [expires: 2025-01-08]
      A4BE13B592B3B38A442170A922D74586719B2B26
uid                      tset <setset@sdf。com>
sub   cv25519 2023-01-09 [E] [expires: 2025-01-08]

A4BE13B592B3B38A442170A922D74586719B2B26 就是你的密钥,记住

☎️第三步,查看公钥
gpg --list-keys

maven仓库发布,sonatype,maven,jar,开源

存储路径,记住

📞第四步,发布公钥
gpg --keyserver hkp://keyserver.ubuntu.com:11371 --send-keys A4BE13B592B3B38A442170A922D74586719B2B26

意思就是上传到hkp://keyserver.ubuntu.com:11371中去,然后sonatype也会去这里验证

查询发布公钥是否成功


gpg --keyserver hkp://keyserver.ubuntu.com:11371 --recv-keys A4BE13B592B3B38A442170A922D74586719B2B26

出现这样就成功了

maven仓库发布,sonatype,maven,jar,开源

📟第二步,配置maven
📠第一步,配置maven的settings.xml文件
  <servers>
	  <server>
        <id>ossrh</id>
        <username>(SonaType账号username)</username>
        <password>填你注册SonaType时填写的密码</password>
	  </server>
  </servers>
 
  <profiles>
    <profile>
      <id>ossrh</id>
      <activation>
        <activeByDefault>true</activeByDefault>
      </activation>
      <properties>
        <!--这里填你安装的GnuPG位置-->
        <gpg.executable>D:/gpg/GnuPG/bin/gpg.exe</gpg.executable>
        <gpg.passphrase>填写你生成秘钥时输入的密码</gpg.passphrase>
        <!--这里填你秘钥在磁盘上的位置,可通过上面步骤的 gpg --list-keys找到-->
        <gpg.homedir>C:/Users/Administrator/AppData/Roaming/gnupg</gpg.homedir>
      </properties>
    </profile>
  </profiles>
💽第二步,idea使用改配置文件

maven仓库发布,sonatype,maven,jar,开源

📼第三步,配置项目的pom文件
🔉第一步,修改配置
    <!--gav信息-->
    <groupId>io.gitee.antopen</groupId>
    <artifactId>simple-cache</artifactId>
    <!--需要特别注意,你上传的是SNAPSHOT仓库,所以此处版本号后缀必须带SNAPSHOT-->
    <version>1.0.0-SNAPSHOT</version>
 
    <!--项目信息...-->
 <name>simple-cache</name>
    <description>simple cache</description>
    <url>https://gitee.com/antopen/simple-cache</url>
 
    <!--开源协议...-->
    <licenses>
        <license>
            <name>The Apache Software License, Version 2.0</name>
            <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
        </license>
    </licenses>
 
    <!--开发者信息-->
 	<developers>
        <developer>
            <id>masiyi</id>
            <name>masiyi</name>
            <email>masiyi163163@163.com</email>
            <roles>
                <role>Project Manager</role>
                <role>Architect</role>
            </roles>
            <timezone>+8</timezone>
        </developer>
    </developers>
    
    <!--项目在github或其它托管平台的地址-->
    <scm>
        <connection>https://gitee.com/antopen/simple-cache.git</connection>
        <developerConnection>scm:git:ssh://git@gitee.com:antopen/simple-cache.git</developerConnection>
        <url>https://gitee.com/antopen/simple-cache</url>
    </scm>
 
    <profiles>
        <profile>
            <!--注意,此id必须与setting.xml中指定的一致,不要自作聪明改它名字-->
            <id>ossrh</id>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
            <build>
                <!--发布到中央SNAPSHOT仓库插件-->
                <plugins>
                    <plugin>
                        <groupId>org.sonatype.plugins</groupId>
                        <artifactId>nexus-staging-maven-plugin</artifactId>
                        <version>1.6.7</version>
                        <extensions>true</extensions>
                        <configuration>
                            <serverId>ossrh</serverId>
                            <nexusUrl>https://s01.oss.sonatype.org/</nexusUrl>
                            <autoReleaseAfterClose>true</autoReleaseAfterClose>
                        </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>
                    
                    <!--生成API文档插件-->
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-javadoc-plugin</artifactId>
                        <version>2.9.1</version>
                        <executions>
                            <execution>
                                <id>attach-javadocs</id>
                                <goals>
                                    <goal>jar</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>
 
                    <!--gpg插件-->
                    <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必须与setting.xml中指定的一致-->
                   <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>
        </profile>
 
    </profiles>
🔈 第二步,打包上传

先把上面的注释全部删掉,再上传

maven仓库发布,sonatype,maven,jar,开源

然后会弹出对话框让你输入生成gpg时填写的密码

🔇第四步,查看是否上传成功

https://s01.oss.sonatype.org/

maven仓库发布,sonatype,maven,jar,开源

能找到就是成功了

maven仓库发布,sonatype,maven,jar,开源

📢再上传release版本

📣第一步,修改settings.xml
<!--将原来server标签和profile标签中的的ossrh替换为release-->
<id>release</id>
⌛️第二步,修改pom文件
 	<groupId>io.gitee.antopen</groupId>
    <artifactId>simple-cache</artifactId>
    去除-SNAPSHOT后缀
    <version>1.0.1</version>

	<!--将原来profile标签中的的ossrh替换为release-->
	<id>release</id>
	
	 <!--移除此发布到中央SNAPSHOT仓库插件,并替换为分割线下面发布到中央release仓库的插件-->
                    <plugin>
                        <groupId>org.sonatype.plugins</groupId>
                        <artifactId>nexus-staging-maven-plugin</artifactId>
                        <version>1.6.7</version>
                        <extensions>true</extensions>
                        <configuration>
                            <serverId>ossrh</serverId>
                            <nexusUrl>https://s01.oss.sonatype.org/</nexusUrl>
                            <autoReleaseAfterClose>true</autoReleaseAfterClose>
                        </configuration>
                    </plugin>
 
                    <!--                    分割线                -->
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-release-plugin</artifactId>
                        <version>2.5.3</version>
                        <configuration>
                            <autoVersionSubmodules>true</autoVersionSubmodules>
                            <useReleaseProfile>false</useReleaseProfile>
                            <releaseProfiles>release</releaseProfiles>
                            <goals>deploy</goals>
                        </configuration>
                    </plugin>
	
移除
				 <repository>
                    <id>ossrh</id>
              		<url>https://s01.oss.sonatype.org/service/local/staging/deploy/maven2/</url>
                </repository>
替换为
				 <repository>
                    <id>release</id>
                    <url>https://s01.oss.sonatype.org/content/repositories/releases/</url>
                </repository>

⏳第三步,打包上传

maven仓库发布,sonatype,maven,jar,开源

⏰第四步,查看是否上传成功

https://s01.oss.sonatype.org/

maven仓库发布,sonatype,maven,jar,开源

都上传成功之后就会收到官方的信息

maven仓库发布,sonatype,maven,jar,开源
意思是

io.gitee.antopen的中央同步已激活。成功发布后,您的组件将在中央对公众开放https://repo1.maven.org/maven2/,通常在30分钟内,但更新到https://search.maven.org可能需要四个小时。

30分钟后就可以下载,4个小时后就可以在mvn搜索网页可以搜索到

maven仓库发布,sonatype,maven,jar,开源

⌚️第七步,后续发布新版本

发布出去就改不了了,如果需要bug修复或者版本更新就只需要上传release版本即可

修改版本号,重复上面操作即可

maven仓库发布,sonatype,maven,jar,开源

鸣谢:https://blog.csdn.net/lovexiaotaozi/article/details/121989407

希望更多的小伙伴能够参与到开源当中去,这样大家才能进步,社会才会发展文章来源地址https://www.toymoban.com/news/detail-776733.html

到了这里,关于【拥抱开源】发布自己的项目到maven中央仓库的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 私有jar包发布到maven中央仓库

    一、注册Jira Sonatype JIRA https://issues.sonatype.org/secure/Dashboard.jspa 二、新建issue 提交后,等待5-10分钟,会收到中央机器人的评论,如下: 在这里,我没有自己的域名,此时: 1、机器人给我们分配了一个新的group id(如图第一个蓝色框)。于是再次编辑该issue,填入新分配的grou

    2024年02月04日
    浏览(45)
  • Maven学习1_将项目打包jar然后上传到GitHub、Nexus Sonatype仓库、搭建Sonatype私服

    概述 主要学习记录Maven仓库相关知识,如何借助上传项目jar包到GitHub、Nexus Sonatype,,以及搭建自己的Nexus Sonatype私服,然后在Maven项目的pom文件引入使用,参考Maven官网文档:https://central.sonatype.org/publish/publish-maven/ 需要了解:Maven中央仓库并不支持直接发布jar 包,需要将jar 包

    2024年02月15日
    浏览(44)
  • Java Maven项目推送到 Maven 中央仓库

    当需要在 sonatype 认证 com.xxx 命名空间时,需要将 @.xxx.com 配置域名解析。 记录类型:TXT 文本内容:验证的 key。 GPG 下载地址:https://www.gnupg.org/download/index.html Mac 可以使用 brew install gpg 直接安装 使用方式可参考: https://central.sonatype.org/publish/requirements/gpg/ https://www.jianshu.com/

    2024年04月13日
    浏览(31)
  • 发布自己的依赖(代码)到maven仓库2023

    发布自己代码到maven中央仓库! 第一步去sonatype注册登录,并发布issue https://issues.sonatype.org/secure/Dashboard.jspa = 去这个网站注册登录,用户名和密码会在后面发布jar包到中央仓库上用的到。 具体如何填写 这里域名这块我建议大家如果为了图方便就可以用gitee或者是github的就可以

    2024年02月08日
    浏览(40)
  • 【Java 中级】Maven 本地仓库、中央仓库、私仓

    👉 博主介绍 : 博主从事应用安全和大数据领域,有8年研发经验,5年面试官经验,Java技术专家,WEB架构师,阿里云专家博主,华为云云享专家,51CTO 专家博主 ⛪️ 个人社区:个人社区 💞 个人主页:个人主页 🙉 专栏地址: ✅ Java 初阶 🙉八股文专题:剑指大厂,手撕

    2024年02月05日
    浏览(49)
  • maven中央仓库不能访问的解决办法

    导入Maven项目,编译时候出错,好象是接不上apache.org/maven2,下载不了maven-resources-plugin-2.6.jar 这个jar包 出错内容: Plain Text code ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 [INFO]?Scanning?for?projects... [INFO] [INFO]?------------------------------------------------------------------------ [INFO]?Building?maven

    2024年02月13日
    浏览(38)
  • (AS笔记)上传aar包到Maven中央仓库

    目录 一、SonaType账户注册与登录         (1)注册         (2)登录 二、创建工单         (1)Github子域名验证 (2)自定义域名验证 三、登录Nexus Repository Manager 四、GPG签名生成和发布 五、Android推送aar包         (1)配置私钥         (2)配置Gradle推送参数   

    2024年02月11日
    浏览(43)
  • 向 Maven 中央仓库上传一个修改过的基于jeecg的autoPOI的 jar包记录

    1、注册https://issues.sonatype.org/账号 下面就代表注册好了,同时提交的工单也通过了  2、这里主要是goupId 需要进行认证,需要到域名注册商近一个txt的解析,以便确保这个是你的 通过下面来验证你的域名信息,这里主要是上面的工单号码要包括进去,我这里是一个链接地址作

    2024年02月14日
    浏览(43)
  • 解决构建maven工程时,配置了阿里云的前提下,依旧使用中央仓库下载依赖导致失败的问题!!!

    在使用spring进行构建项目时,出现下载依赖迟迟不成功,显示maven wrapper 下载失败的问题。 Maven wrapper Cannot download ZIP distribution from https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.7/apache-maven-3.8.7-bin.zip. Please check distributionUrl The Maven wrapper was disabled. The Mavenbundled version w

    2024年02月15日
    浏览(55)
  • 查看GitHub仓库创建时间,确定开源项目发布时间

    简述: GitHub的web界面本身没有查看仓库创建时间的选项,但我们有确定开源项目发布时间等需求,页面上只能靠后续pull requests的时间大致判断,不够准确。 方案: 可使用 github 的 api 查询项目创建时间: 格式: https://api.github.com/repos/{:owner}/{:repository} 例子: https://api.github.com

    2024年02月11日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包