Maven / Android:从父项目调用子模块上的自定义目标



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

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

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

非常感谢。

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

有点,假设你在这里使用 maven profile,你可以把两个 mvn 命令放在一行中,第二个命令将在第一个完成后开始。

在 Linux 中,使用:

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

在 Windows 中,使用:

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

希望这有帮助。

最新更新