Apache Maven 部署插件

部署插件主要用于部署阶段,将您的工件添加到远程存储库,以便与其他开发人员和项目共享。这通常在集成或发布环境中完成。它还可以用于部署特定的工件(例如,第三方 jar,如 Sun 的不可再发行参考实现)。

由于存储库包含的不仅仅是工件(POM、元数据、MD5 和 SHA1 哈希文件......),部署意味着不仅复制工件,而且确保所有这些信息都正确更新。这是部署插件的责任。

要工作,部署将需要:

  • 关于存储库的信息:它的位置、用于访问它的传输方法(FTP、SCP、SFTP...)以及可选的用户特定所需帐户信息
  • 关于工件的信息:组、工件、版本、包装、分类器...
  • 部署者:实际执行部署的方法。这可以实现为货车运输(使其跨平台),或使用系统特定的方法。

这些信息将从隐含的(或指定的)pom 和命令行中获取。还可以解析 settings.xml 文件以检索用户凭据。

目标概述

部署插件有两个目标:

  • deploy:deploy用于自动安装工件、它的 pom 和特定项目生成的附加工件。大多数(如果不是全部)与部署相关的信息都存储在项目的 pom.xml 中。
  • deploy:deploy-file用于安装单个工件及其 pom。在这种情况下,可以从可选指定的 pomFile 中获取工件信息,但可以使用命令行完成/覆盖。

主要版本升级到版本 3.0.0

请注意,以下参数已从插件配置中完全删除:

  • 唯一版本
  • 插件的以下参数的语法已更改:
    • altDeploymentRepository * altReleaseDeploymentRepository * altSnapshotDeploymentRepository

      旧格式为:id::layout::url新格式为:id::url

从 Maven 3 开始,快照工件将始终使用时间戳版本进行部署。

用法

有关如何使用 Deploy 插件的一般说明可以在使用页面上找到。下面给出的示例中描述了一些更具体的用例。

如果您对插件的使用仍有疑问,请查看常见问题解答并随时联系用户邮件列表。邮件列表中的帖子已存档,并且可能已经包含您问题的答案,作为旧线程的一部分。因此,也值得浏览/搜索邮件存档

如果您觉得插件缺少功能或存在缺陷,您可以在我们的问题跟踪器中填写功能请求或错误报告。创建新问题时,请提供您所关注问题的全面描述。特别是对于修复错误,开发人员可以重现您的问题至关重要。出于这个原因,非常感谢附在问题上的整个调试日志、POM 或最好的小演示项目。当然,补丁也是受欢迎的。贡献者可以从我们的源代码库中查看该项目,并将在帮助使用 Maven 的指南中找到补充信息。

例子

为了让您更好地了解部署插件的一些用法,您可以查看以下示例:

项目部署:

文件部署: