У меня есть многомодульный проект с несколькими подпроектами, один из которых использует плагин maven android:
+-------------+
| Aggregator |
| Module |
+-------------+
+-------------+ +-------------+ +-------------+
| Module 1 | | Module 2 | | Module 3 |
| (android) | | | | |
+-------------+ +-------------+ +-------------+
Я часто запускаю следующую команду из модуля 1:
module-1 $ mvn clean install android:redeploy
Это прекрасно работает, потому что в модуле 1 объявлен плагин android, указанный в pom.
Было бы удобно, если бы я мог выполнить ту же команду, например.mvn clean install android:redeploy
из модуля Aggregator, и maven знает, что он должен запускать «clean» и «install» во всех подмодулях, а «android: redeploy» только в модуле (модулях), которые его поддерживают, а именно в модуле 1.
Вместо этого, когда я пытаюсь запустить команду из модуля агрегатора, я получаю сообщение об ошибке «Ошибка разрешения версии для плагина», что имеет смысл, так как оно не было объявлено в агрегаторе, ина самом деле не имеет смысла быть объявленным в агрегаторе.
Есть ли умный способ, которым я могу настроить свои модули, чтобы просто "делать правильные вещи" в этой ситуации, чтобы мне не нужно было запускатьmaven в двух отдельных каталогах?