У меня нет опыта работы с Maven, но нам удалось заставить Ant делать все, что мы хотели на нескольких платформах, просто благодаря тому, что вы можете расширить его с помощью любой программы Java для выполнения специальных задач, не включенных с самим приложением Ant.
И затем Java может, если необходимо, вызвать любую внешнюю программу, которую вы хотите, используя Runtime.exec (). Потерял немного переносимости, но это было необходимо для некоторых инструментов командной строки под Linux и Windows.