altDeploymentRepository和altReleaseDeploymentRepository

时间:2017-01-12 11:10:02

标签: java maven maven-deploy-plugin

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

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

正如apache-maven deploy documentation所说:

  

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

     

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

     

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

究竟是什么

  

当项目有最终版本时。

意思?

1 个答案:

答案 0 :(得分:8)

如果指定altReleaseDeploymentRepository,则在项目具有版本(或“最终”)版本时始终使用它,即不是快照版本。指定altSnapshotDeploymentRepository时,在项目具有快照版本时始终使用它。当没有指定或使用上述存储库时,altDeploymentRepository是默认的备用部署存储库。

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

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

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

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