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

时间:2012-12-31 02:15:19

标签: maven open-source repository artifacts maven-central

我认为需要一些传递来向Maven Central存储库提交工件。

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

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

2 个答案:

答案 0 :(得分:4)

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

简答:

请参阅Sonatype OSS Maven Repository Usage Guide

长答案:

基本上,这是我前一段时间为beanstalk-maven-plugin所做的事情:

  1. 我已经在HKP Keyservers中为我的电子邮件生成并注册了一个新的GPG密钥(一个没脑子的人)。确保你有钥匙的备份(实际上,我建议你在一个完全独立的机器上创建钥匙,这样你就可以知道你的备份/出口程序是否有效)

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

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

  4. 设置用于标记/释放的SCM。

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

  6. 现在,通过Sonatype发布过程非常简单:

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

    在引擎盖下

    如果您正在使用Maven,大多数更改只需要使用相关详细信息(组,邮件列表,主页,尤其是<scm/>)来装饰您的POM。 sonatype-oss-parentsee its source)pom执行剩余的所有工作,其中包括:

    • <distributionManagement/>代码
    • maven-enforcer-plugin配置(特别是为了避免来自maven-gpg-plugin的一些不良签名)
    • 在OSS上发布时要调用的特殊构建配置文件的maven-release-plugin设置,其中包括对以下内容的调用:
      • source:jar
      • javadoc:jar
      • gpg:sign

    当然,您可以手动完成所有操作 - 只需将sonatype-oss-parent的内容复制到您自己的内容中即可。但是,我觉得它有点可以避免。 :)

    希望它有所帮助。

答案 1 :(得分:0)

好的,您可以阅读有关如何在Maven Central Repo(here上传软件包的完整分步详细指南。

另外,您可以阅读有关存储库here

的信息