altDeploymentRepository和altReleaseDeploymentRepository之间的区别

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

我想知道altDeploymentRepositoryaltReleaseDeploymentRepository什么altReleaseDeploymentRepository ? 如果设置了两个参数, mvn deploy如何选择使用哪个存储库?

正如apache-maven部署文档所述:

altDeploymentRepository :指定应该部署项目工件的备用存储库(除了指定的那些)。 格式:id :: layout :: url

altReleaseDeploymentRepository :项目具有最终版本时使用的备用存储库。

altSnapshotDeploymentRepository :项目具有快照版本时使用的备用存储库。

到底是什么

当项目有最终版本时。

意思?

指定altReleaseDeploymentRepository ,它始终在项目具有发布(或“最终”)版本时使用,即不是快照版本。 指定altSnapshotDeploymentRepository ,始终在项目具有快照版本时使用它。 altDeploymentRepository未指定或使用上述存储库,则altDeploymentRepository是缺省备用部署存储库。

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

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

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

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