altDeploymentRepository 和 altReleaseDeploymentRepository 之间的区别

Difference between altDeploymentRepository and altReleaseDeploymentRepository

我使用 swagger 在我的项目中生成 Web 服务客户端。生成的代码生成一个可以用作 Maven 库的库。我已经成功地将发布版本部署到我的私有 sonatype-nexus 中。

我想知道altDeploymentRepositoryaltReleaseDeploymentRepository有什么区别?如何mvn deploy select 如果设置了两个参数,则使用哪个存储库?

正如 apache-maven deploy documentation 所说:

altDeploymentRepository: Specifies an alternative repository to which the project artifacts should be deployed ( other than those specified in ). Format: id::layout::url

altReleaseDeploymentRepository: The alternative repository to use when the project has a final version.

altSnapshotDeploymentRepository: The alternative repository to use when the project has a snapshot version.

具体是做什么的

when the project has a final version.

是什么意思?

当指定或使用上述存储库的 none 时,altReleaseDeploymentRepository is specified, it is always used when the project has a release (or "final") version, i.e. is not a snapshot version. When altSnapshotDeploymentRepository is specified, it is always used when the project has a snapshot version. altDeploymentRepository 是默认的备用部署存储库。

所以换句话说,如果你有一个发布版本,那么:

  • altReleaseDeploymentRepository如果指定将被使用;
  • 否则altDeploymentRepository如果指定将被使用;
  • 否则,如果指定,将使用在 <distributionManagement><repository> POM 元素中声明的发布远程存储库;
  • 否则插件会出错,因为它没有找到任何要部署到的远程存储库。

同样,如果你有快照版本,那么:

  • altSnapshotDeploymentRepository如果指定将被使用;
  • 否则altDeploymentRepository如果指定将被使用;
  • 否则,如果指定,将使用在 <distributionManagement><snapshotRepository> POM 元素中声明的快照远程存储库;
  • 否则,如果指定,将使用在 <distributionManagement><repository> POM 元素中声明的发布远程存储库;
  • 否则插件会出错,因为它没有找到任何要部署到的远程存储库。