前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何上传自己的项目到Maven中央仓库

如何上传自己的项目到Maven中央仓库

原创
作者头像
Karos
修改2023-02-01 07:42:16
1.6K0
修改2023-02-01 07:42:16
举报
文章被收录于专栏:MyBlog-KarosMyBlog-Karos

这段时间一直在做项目,也有一个项目伴随产品,其实也就是为了满足个人开发需求的一个工具类,然后想着为了便于协作开发,不如就放在Maven上,这篇文章主要介绍如何把自己的项目或者Starter上传到Maven中央仓库中,并且我也会在文章中说明坑点。

首先,建议准备:

  • Github / Gitee 或者其他代码托管平台账号
  • Maven
  • 电脑能够进入issues.sonatype.org和https://s01.oss.sonatype.org/
  • 电脑上有Ggp签名服务(下文会介绍)

首先第一步,前往issues.sonatype.org注册账号,这个步骤不做演示

第二步,创建一个项目

第三步,填写表单(概要和描述自行填写)

第四步,看注释

第五步,验证域名(DNS-TXT或者Github仓库地址)

这里有域名,将域名作为演示

第六步 下载安装Gpg4Win

地址:Gpg4win - Secure email and file encryption with GnuPG for Windows

常规一路走。

第七步 创建密钥

第八步 上传密钥

第九步 Maven Config配置

在setting.xml中添加如下配置

放在servers里面

代码语言:javascript
复制
<server>
      	<id>ossrh</id>
      	<username>你的issues.sonatype.org账号</username>
      	<password>你的issues.sonatype.org密码</password>
</server>

放在profiles里面

代码语言:javascript
复制
<profile>
      <id>ossrh</id>
      <activation>
        <activeByDefault>true</activeByDefault>
      </activation>
      <properties>
        <!--这里填你安装的GnuPG位置-->
        <gpg.executable>H:\GnuPG\bin\gpg.exe</gpg.executable>
        <gpg.passphrase>刚才你生成密钥时输入的密码,不是指纹!!!</gpg.passphrase>
        <!--这里填你秘钥在磁盘上的位置,可通过上面步骤的 gpg --list-keys找到-->
        <gpg.homedir>C:\Users\30398\AppData\Roaming\gnupg</gpg.homedir>
  </properties>

第九步 配置pom.xml

IDEA可能会报错,全是goal的,直接无视即可

代码语言:javascript
复制
<?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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.7.0</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>自己写</groupId>
    <artifactId>自己写</artifactId>
    <version>1.6.0</version>
    <name>KaTool</name>
    <description>这里你自己写</description>
    <!-- https://mvnrepository.com/artifact/com.qiniu/qiniu-java-sdk -->
    <properties>
        <maven.compiler.source>8</maven.compiler.source>
        <maven.compiler.target>8</maven.compiler.target>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<!--注意一定要和jdk版本对应,建议1.8,版本太高可能会出现TreeMap的异常-->
        <java.version>1.8</java.version>
    </properties>

    <dependencies>
                  ......
    </dependencies>


<!--项目地址-->
    <url>例子:https://github.com/Karosown/KaTool</url>

    <!--开发者信息-->
    <developers>
        <developer>
            <id>Karos</id>
            <name>Karos</name>
            <email>mail@wzl1.top</email>
            <roles>
                <role>Developer</role>
            </roles>
            <timezone>+8</timezone>
        </developer>
    </developers>

    <!--开源协议...-->
    <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>


    <!--项目在github或其它托管平台的地址-->
    <scm>
        <connection>例子:https://github.com/Karosown/KaTool.git</connection>
        <developerConnection>例子:scm:git:ssh://git@github.com:Karosown/KaTool.git</developerConnection>
        <url>例子:https://github.com/Karosown/KaTool/tree/master  分支一定要带上,当时没带上找</url>
    </scm>


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

第十步 mvn clean deploy

其实可以省事

输入一次你创建密钥时的密码

然后看下终端,出现这样即可

第十一步 登录s01.oss.sonatype.org

地址:https://s01.oss.sonatype.org/#central-stat

账号密码和issues.sonatype.org的相同

然后,如图所示

其中4和6写一些你的项目说明就可以,release之后记得删除。

最后等待mvn同步就可以了

一般情况下Maven Central Repository Search会先出来

或者去这里看看Maven Central (sonatype.com)

还有一些镜像服务器也可以看到,比如华为的maven镜像

最后https://mvnrepository.com/也可以看到

好了,教程完毕,最后也弱弱的来求个star

 GitHub

karosown/KaTool

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 首先第一步,前往issues.sonatype.org注册账号,这个步骤不做演示
  • 第二步,创建一个项目
  • 第三步,填写表单(概要和描述自行填写)
  • 第四步,看注释
  • 第五步,验证域名(DNS-TXT或者Github仓库地址)
  • 第六步 下载安装Gpg4Win
  • 第七步 创建密钥
  • 第八步 上传密钥
  • 第九步 Maven Config配置
  • 第九步 配置pom.xml
  • 第十步 mvn clean deploy
  • 第十一步 登录s01.oss.sonatype.org
相关产品与服务
代码托管
CODING 代码托管(CODING Code Repositories,CODING-CR)是为开发者打造的云端便捷代码管理工具,旨在为更多的开发者带去便捷、高效的开发体验,全面支持 Git/SVN 代码托管,包括代码评审、分支管理、超大仓库等功能。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档