【问题标题】:Moving a project to Maven Central将项目移动到 Maven 中心
【发布时间】:2012-05-01 13:48:00
【问题描述】:

我管理许多 Maven 项目。它们中的大多数部署到我们内部的 Maven 存储库。现在我想开始向 Maven Central 发布一个项目。到目前为止,我有一个父 POM,它指定了我们内部存储库的 distributionManagement。将此信息部署到 Maven Central 是没有意义的。

我应该如何为我的内部项目指定分发管理?我应该为内部项目有一个单独的父 pom group-internal 吗?

Sonatype 提到了一种直接部署到他们的存储库的方法,但他们建议使用他们自己的父 pom (oss-parent)。查看使用 mvnrepository.org 的项目,我找不到任何以 oss-parent 作为父级的项目。大多数项目是否手动将其工件部署到 Sonatype?他们首先在哪里以及如何部署它们?

问题太多了!我很惊讶这是多么复杂......

更新:我发现的一些项目确实使用了 oss-parent。它只是被隐藏了,因为它是父级的父级。

【问题讨论】:

  • 上次我读到它时,我相信你必须向他们提出一张票才能让你的 jar 进入 Maven Central。但是您对 Sonatype OSS 存储库的看法是正确的,我认为只要您满足某些先决条件,他们就可以将其直接部署到他们的存储库中。如果你将一些库放在公共领域,理想情况下它应该有 Apache 2 或类似的许可证。您准备好向世界开放您的代码了吗?如果您是,那么将您的代码托管在 Github、SourceForge 或 Google Code 等某个地方可能很有意义。
  • 代码对外开放。我现在正试图将二进制文件提供给全世界。

标签: maven sonatype


【解决方案1】:

全部设置完成后,您可以将staged releasesSNAPSHOTs 直接部署到 Sonatype 的 OSS 存储库。然后阶段版本可以是released through Sonatype's Nexus UI

要为您可以部署的应用程序创建一个存储库文件夹,您需要open a ticket with Sonatype on their JIRA 以及对您将部署的开源项目的引用。这个过程非常顺利,如果您不提供所有必要的信息,Sonatype 会为您提供帮助。

虽然乍一看,很多项目都没有 oss-parent 作为父级,但当您向上导航 POM 树时,它们通常会这样做。例如,Google Guava 有父 guava-parent,它有父 oss-parent。一旦您的项目具有 oss-parent 并配置了存储库,您就可以使用 mvn deploymvn release:prepare release:perform 轻松部署 SNAPSHOT 和发布。

这似乎让人不知所措,但如果您只是第一次完成这些步骤,就很容易理解。

【讨论】:

    【解决方案2】:

    我建议阅读的第一个内容如下: https://docs.sonatype.org/display/Repository/Sonatype+OSS+Maven+Repository+Usage+Guide OSS 父级在特殊情况下才有意义。这取决于你喜欢分发什么样的项目。

    更新:该链接现已失效。查看here 以获取部署到 Sonatype 的帮助。

    更新:对于 Maven Central,请检查:http://central.sonatype.org/

    【讨论】:

    • 我已阅读该文件。是否需要详细说明 OSS 父级何时有意义,何时没有意义?没有 OSS 父级的项目如何部署到 maven Central?他们如何在 pom.xml 中没有 distributionManagement 的情况下进行内部部署?
    • 只需简单地创建自己的分发管理区(search.maven.org/#artifactdetails|com.soebes.smpp|smpp|0.3|pom)。如果没有distributionManagement,您无法在内部部署...最好的办法是内部也有repo manager...如果您有一个内部使用的项目,但将部署到maven Central而不是该项目需要它自己的distributionManagement区域可能由使用不同的父母,但要小心,任何东西都不会去 maven central 应该取决于不在 maven central 中的东西。
    • 你提到的文件已经神奇地消失了,似乎没有任何明确的继任者。
    • @MikeBraun 看起来信息现在是 here
    猜你喜欢
    • 2014-09-19
    • 2015-09-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-07-19
    • 2014-02-05
    • 2020-09-29
    • 2016-01-28
    相关资源
    最近更新 更多