【问题标题】:Maven deploy from parent projectMaven 从父项目部署
【发布时间】:2011-10-27 11:03:30
【问题描述】:

我有几个子项目的 Maven 父项目。在部署时,我想执行一些复杂的 scp 任务。当我运行 mvn deploy 时出现错误:

[INFO] Reactor Summary:
[INFO]
[INFO] Child project1 ............................... FAILURE [0.331s]
[INFO] Child project 2 .............................. SKIPPED
[INFO] Child project 3 .............................. SKIPPED
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-deploy-plugin:2.5:deploy
(default-deploy) on project Parent: Deployment failed: repository element 
was not specified in  the POM inside distributionManagement element or in -DaltDeploymentRepository=id::layout::url parameter -> [Help 1]  

我阅读了Deployment issue with Maven Plugin 的问题,它说我需要在 settings.xml 中定义存储库。但是我没有任何存储库,我在部署阶段要做的就是执行在服务器上复制文件并做其他工作的脚本。我只想在父项目中执行这个脚本,并在子项目中执行这个阶段。 我没有经常使用 maven,所以也许我只是缺少一些 maven 概念。

【问题讨论】:

    标签: maven


    【解决方案1】:

    如果你没有存储库(意思是:部署/项目存储库,而不是你必须拥有的本地),那么不要运行mvn deploy,而是mvn install。 Maven 发布插件(默认绑定到 deploy 阶段)用于在项目存储库中安装工件,在源代码控制存储库中标记它,诸如此类。这意味着:您必须在主 POM 中定义存储库和源代码控制连接,并可能在 settings.xml 中定义存储库访问凭据。

    如果您想跳过某些项目(包括为<modules>,对吗?),我认为您最好的选择是使用profiles,并在每个配置文件中使用不同的<modules> 部分。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-04-02
      • 2016-10-30
      • 1970-01-01
      • 2021-11-09
      • 2014-07-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多