Параллельная сборка модулей в Maven

· 1 минута на чтение

Небольшая хитрость, которая может ускорить сборку многомодульного maven проекта. Это параллельная сборка модулей.

mvn -T 1C clean install

1C означает использовать 1 поток на 1 ядро процессора

Но есть одно условие. Ваш проект должен содержать модули, которые не зависят друг от друга последовательно.

Объясню на примере проекта, который состоит из 18 модулей. Оранжевыми прямоугольники я выделил модули, которые могут собираться параллельно, так как они не зависят друг от друга.

По факту эти группы модулей зависят только друг от друга. Сначала собирается группа domain, от нее зависит группа context, потом core и так далее. Без context не собрать core, думаю суть понятна. Но вот модули core не зависят друг от друга, и могут собираться параллельно.

Для примера вот время сборки в последовательном режиме:

А вот в параллельном:

Выигрыш почти в два раза

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

Struchkov Mark
Struchkov Mark
Задавайте вопросы, если что-то осталось не понятным👇