此答案假定您有一个基于 maven 的项目,并且它处于可打包状态。 应该运行没有任何错误。mvn package
发布到 maven central 时,需要使用组 ID 来标识你上传的所有项目。类似 .你还需要对项目进行签名,以便用户能够验证它们是否确实来自你。in.ksharma
因此,首先转到sonatype jira并创建一个帐户,然后创建一个jira问题以使您的组ID获得批准。像这样的东西。
现在生成一个 gpg 密钥对,用于对工件进行签名:
$ gpg --gen-key
在 中定义此键:~/.m2/settings.xml
<profiles>
<profile>
<id>sonatype-oss-release</id>
<properties>
<gpg.keyname>B63EFB4D</gpg.keyname>
<gpg.passphrase>****</gpg.passphrase>
<gpg.defaultKeyring>true</gpg.defaultKeyring>
<gpg.useagent>true</gpg.useagent>
<gpg.lockMode>never</gpg.lockMode>
<gpg.homedir>/home/kshitiz/.gnupg</gpg.homedir>
</properties>
</profile>
</profiles>
修改项目的 pom 文件并附加到您的版本。所以成为.否则,专家会抱怨:-SNAPSHOT
0.0.1-BETA
0.0.1-BETA-SNAPSHOT
[错误]未能在 project log4j-weblayout 上执行 goal org.apache.maven.plugins:maven-release-plugin:2.4.2:prepare (default-cli): 在 reactor 项目列表中没有 SNAPSHOT 项目。-> [帮助 1]
还添加:
<parent>
<groupId>org.sonatype.oss</groupId>
<artifactId>oss-parent</artifactId>
<version>9</version>
</parent>
此父 pom 为您提供了一些现成的功能,例如配置 对 JAR 进行签名。maven-gpg-plugin
现在运行以生成项目和 gpg 签名。它会给你类似的东西:mvn release:clean release:prepare
log4j-weblayout-0.0.1-BETA-javadoc.jar.asc
log4j-weblayout-0.0.1-BETA-sources.jar.asc
log4j-weblayout-0.0.1-BETA.pom.asc
log4j-weblayout-0.0.1-BETA.pom
log4j-weblayout-0.0.1-BETA.jar.asc
log4j-weblayout-0.0.1-BETA-javadoc.jar
log4j-weblayout-0.0.1-BETA-sources.jar
log4j-weblayout-0.0.1-BETA.jar
现在将它们打包到一个 JAR 中:
jar -cvf bundle.jar log4j-weblayout-0.0.1-BETA*
转到Sonatype Nexus并使用您的凭据登录。转到暂存上传并上传捆绑包。

然后转到暂存存储库部分,选择您的存储库并单击“发布”(此处提供更多帮助)。评论您已发布工件的 jira 问题,并等待一段时间。
现在,您的用户可以从中央存储库中搜索和使用工件: