Заказанный вывод для параллельной сборки maven

Я использую maven версии 3+ для создания своего проекта. Я использую параллельные сборки с помощью команды: mvn -T 10 чистая установка

Это использует 10 потоков, и я получаю сокращение времени сборки на 40-50%. Но в то же время это портит вывод команды maven, и становится очень трудно понять смысл. Есть ли способ получить упорядоченный вывод или они не могут обойти беспорядочный вывод консоли?

Если вы думаете, что параллельные потоки записывают в журнал, ожидается, что вывод перестанет быть линейным, иначе вы выполните синхронизацию с выводом журнала, что предотвратит реальное распараллеливание в конце. Проблема возникает только в том случае, если у вас действительно есть проблема, которую вы хотите анализировать ... но для этого вы можете перейти к единственному потоку и проанализировать его ... Итак?

khmarbaise 13.09.2018 19:42

Сколько модулей у вас в сборке?

khmarbaise 13.09.2018 20:50

@khmarbause Спасибо за ответ. В моем проекте около 30 модулей. И я верю, что мы можем жить с некоторым неупорядоченным журналированием и вернуться к единственному потоку в случае проблемы.

worldbeater 22.09.2018 18:30
2
3
749
1

Ответы 1

Это невозможно с используемой конфигурацией потоков. Threading используется только для получения файлов из репозиториев, в противном случае он является линейным из-за зависимости, если только ваши модули не являются независимыми, и в этом случае вы бы легко создали несколько сборок. Вы можете отключить ведение журнала и печатать только ошибки в режиме потока.

Ссылка для линейного исполнения: http://www.keensoft.es/en/speeding-up-maven-by-parallel-threads/

Как писал оригинальный постер, у него / нее время сократилось на 40% -50%, что означает, что использовать параллельную сборку - хорошая идея. И ваше предположение о том, что параллельно идут только файлы из репозитория, просто неверно. Если у вас есть такая ситуация, как модуль A, B, C, D, ... Z и модуль B зависят от A и C на B и ... Z на Y, тогда это приведет к линейному порядку сборки .. но обычные проекты не то чтобы ...

khmarbaise 13.09.2018 19:43

Я специально поставил «если ваши модули не независимы», они редко бывают независимыми, и добавил ссылочную ссылку на утверждение о линейном исполнении.

Ashraff Ali Wahab 13.09.2018 19:51

Другие вопросы по теме