Когда вы работаете с maven на многоядерном / многопроцессорном компьютере, часто бывает возможно создавать разные подпроекты параллельно. Есть ли способ сделать это с Maven? Есть ли плагин для этого / что-нибудь?
maven-2
build-process
build-automation
Ханс-Петер Стёрр
источник
источник
Предлагаемые решения хороши, но я хотел бы добавить кое-что к ответам здесь относительно стабильности теста во время параллельных сборок .
Итак, когда используется параллельная сборка Maven :
Могут появиться некоторые проблемы с тестами . Обратите внимание на любое поведение в тестах, которое отличается между последовательным и параллельным выполнением теста. В большинстве случаев случается, что тестирование изоляции происходит не по назначению .
Например, test1 манипулирует записью в базе данных с ключом 12345, который жестко закодирован, а test2 использует ту же запись! Это не может быть хорошо ...
Это ситуация, которая должна быть рассмотрена в первую очередь, но иногда она забывается и может привести к различным проблемам после перехода на параллельную сборку Maven.
В этом случае, и вы все еще хотите использовать параллельное выполнение, по крайней мере, в некоторых случаях, вы можете (конечно, помимо попыток исправить тест и сделать их должным образом изолированными) отключить запуск тестов Maven с помощью аргумента -DskipTests:
источник
Некоторые приложения сборки CI (например, hudson) могут создавать несколько проектов maven одновременно (и даже на нескольких машинах).
Поддержка этого в maven 'standalone' также была бы хорошей, быстрый взгляд через систему отслеживания проблем maven дал мне: http://jira.codehaus.org/browse/MNG-3004
источник
Если вы пришли к этому вопросу, пытаясь разобраться со своим сервером сборки, и вы не используете тот, который изначально имеет дело с maven, то магический флаг, который вы ищете, это:
сделайте это для каждой из ваших сборок, и вы можете позволить им запускаться одновременно, вместо того, чтобы все, что использует maven, стояло в очереди!
источник