0

我有一个包含三个子模块的 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 无法解析不同的配置文件参数目标。

非常感谢。

4

1 回答 1

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

希望这可以帮助。

于 2012-05-09T02:24:24.103 回答