maven_如何将jar发布到Maven Central

maven

maven

您创建了一个全新的项目,并希望将其发布到Maven Central,以便人们可以在基于Maven的项目中使用。 这并不是一件很简单的事情,因此我想就此编写循序渐进的指南(基于他的stackoverflow post )。

在sonatype上创建您的jira帐户

-登录您的jira帐户

为您的项目创建票证:对于此步骤,您将需要一个组ID,一个项目网站以及一个指向源代码管理的链接。

我使用“ com.sezinkarli”作为组ID,因为我拥有此域。 如果您没有域并且使用github,则可以轻松使用“ io.github.yourusername”

项目网站可以是该项目的github链接,您可以将github .git链接作为源代码控制。 如您所见,github在这里将非常有用。

-创建一个PGP密钥。 您可以在此处下载。 然后打开命令提示符并执行

gpg –gen-key

它将生成我们的公共密钥和秘密密钥并对其进行签名。

同时,它将打印如下内容:

gpg:密钥[您的密钥]被标记为最终信任

我们将把此密钥用于以下命令:

gpg –keyserver hkp://pool.sks-keyservers.net –send-keys [您的密钥]

-现在,我们将更新用户的Maven设置。 转到您的.m2文件夹并编辑/添加settings.xml。

<settings>
  <servers>
    <server>
      <id>ossrh</id>
      <username>your jira username for sonatype</username>
      <password>your jira passwordfor sonatype</password>
    </server>
  </servers>
  <profiles>
    <profile>
      <id>ossrh</id>
      <activation>
        <activeByDefault>true</activeByDefault>
      </activation>
      <properties>
        <gpg.executable>gpg</gpg.executable>
        <gpg.passphrase>passphrase you used for gpg key</gpg.passphrase>
      </properties>
    </profile>
  </profiles>
</settings>

-现在,我们将更新项目的pom.xml。

添加父项:

<parent>
    <groupId>org.sonatype.oss</groupId>
    <artifactId>oss-parent</artifactId>
    <version>9</version>
</parent>

添加分发管理:

<distributionManagement>
        <snapshotRepository>
            <id>ossrh</id>
            <url>https://oss.sonatype.org/content/repositories/snapshots</url>
        </snapshotRepository>
        <repository>
            <id>ossrh</id>
            <url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url>
        </repository>
</distributionManagement>

添加构建插件:

<build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-source-plugin</artifactId>
                <version>3.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>3.2.0</version>
                <configuration>
                    <source>11</source>
                </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.6</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.8</version>
                <extensions>true</extensions>
                <configuration>
                    <serverId>ossrh</serverId>
                    <nexusUrl>https://oss.sonatype.org/</nexusUrl>
                    <autoReleaseAfterClose>true</autoReleaseAfterClose>
                </configuration>
            </plugin>
        </plugins>
    </build>

-现在我们已经准备就绪。 在通过sonatype jira票证确定一切都可以进行之后(他们会检查组ID),我们可以将项目部署到Maven Central:

mvn clean部署

就是这样!

部署时遇到问题,因为我没有任何javadoc。 添加完之后,所有内容都像魅力一样。

翻译自: https://www.javacodegeeks.com/2020/07/how-to-publish-jar-to-maven-central.html

maven

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值