【问题标题】:Maven / Android: Call custom targets on child modules from parent projectMaven / Android:从父项目调用子模块上的自定义目标
【发布时间】:2012-05-08 22:50:41
【问题描述】:

我有一个包含三个子模块的 Maven 聚合(父)项目。其中一个模块是一个可以部署到设备模拟器的 Android 项目。我希望能够从我的顶级父项目运行“mvn clean install android:deploy android:run”并让它在所有子模块和“mvn android:deploy android:run”上运行“mvn clean install”仅在我的 Android 模块上。我需要能够从一行运行所有 maven 命令,以便与持续集成套件集成。

有没有办法做到这一点(在我的 POM 文件中使用特殊配置或通过传递特定的命令行参数)?

我尝试按照此处的说明进行操作:Maven profile for single module。我设置了两个配置文件(一个包含所有模块,一个只包含我的 Android 模块)并运行类似 'mvn -Pall clean install -Pandroid android:deploy android:run' 但 Maven 无法解析不同的配置文件参数目标。

非常感谢。

【问题讨论】:

    标签: android maven build multi-module


    【解决方案1】:

    有没有办法做到这一点(在我的 POM 文件中使用特殊配置或通过传递特定的命令行参数)?

    有点,假设您在这里使用 maven 配置文件,您可以将两个 mvn 命令放在一行中,第二个命令将在第一个命令完成后启动。

    在 Linux 中,使用:

    mvn -Pall clean install ; mvn -Pandroid android:deploy android:run
    

    在 Windows 中,使用:

    mvn -Pall clean install & mvn -Pandroid android:deploy android:run
    

    希望这会有所帮助。

    【讨论】:

    • 这并没有完全涵盖我们正在寻找的内容,因为我们仍然需要一个单行 Maven 命令,但它对我们的 CI 环境很有帮助。这篇文章提供了另一种选择:stackoverflow.com/questions/1114026/…。非常感谢您的帮助。
    猜你喜欢
    • 2014-03-28
    • 2012-01-07
    • 1970-01-01
    • 2013-04-09
    • 1970-01-01
    • 2010-12-12
    • 2010-12-10
    • 1970-01-01
    • 2021-05-02
    相关资源
    最近更新 更多