将工件提交到maven中央存储库的过程是什么以及有哪些要求?

Lui*_*ano 6 open-source artifacts repository maven maven-central

我想,需要一些传递来向Maven Central存储库提交工件.

我想详细了解哪些要求,要遵循的程序,以及是否有帮助这一过程的教程或指南.

我听说你还需要对这些文物进行数字签名(gpg),有关这方面的一些细节也会受到欢迎.

ald*_*eal 4

如果您的代码是 OSS,则可以通过 Sonatype 进行发布的“快速通道”流程。

简短回答:

请参阅Sonatype OSS Maven 存储库使用指南

长答案:

基本上,这是我不久前为beanstalk-maven-plugin所做的事情:

  1. 我已在 HKP 密钥服务器中为我的电子邮件生成并注册了一个新的 GPG 密钥(无需费脑筋)。确保您有密钥的备份(实际上,我建议您在完全独立的计算机中创建密钥,这样您就可以知道您的备份/导出程序正在运行)

  2. 在 Sonatype OSS 项目 Jira Tracker 中打开了一个问题,指出 groupId、源 SCM url 和其他详细信息。审批时间大约需要48小时。

  3. 配置我pom.xml使用 sonatype-parent pom 作为父级。这增加了很多额外的信息和验证。

  4. 设置 SCM 进行标记/发布。

  5. 设置 jenkins,以便我的-SNAPSHOT发布也将发布到 oss.sonatype.org。

现在,通过 Sonatype 的发布过程本身非常简单:

  • 调用release:preparerelease:perform进入 OSS Staging。您的新版本将进入 Sonatype Staging
  • 登录 OSS Staging,然后“关闭”暂存存储库 - 如果存在任何验证错误(例如没有源的工件),它会发出警告,并且您可能会发出“Drop”。
  • 如果一切顺利,您可以调用“发布”,它将在几个小时内在中央同步。

引擎盖下

如果您使用 Maven,大多数更改只需要使用相关详细信息(组、邮件列表、主页,尤其是<scm/>)来装饰您的 POM。sonatype-oss-parent请参阅其源代码)pom 完成所有剩余的工作,其中包括:

  • 标签<distributionManagement/>
  • 配置maven-enforcer-plugin(特别是避免来自 的一些错误签名maven-gpg-plugin
  • maven-release-plugin在 OSS 上发布时调用的特殊构建配置文件的 设置,其中包括以下调用:
    • source:jar
    • javadoc:jar
    • gpg:sign

当然,您可以手动完成这一切 - 只需将 sonatype-oss-parent 的内容复制到您自己的中即可。然而,我认为这是可以避免的。:)

希望能帮助到你。