--- aliases: tags: - зрелость/🌱 date: - - 2023-11-20 zero-link: - "[[../../../garden/ru/meta/zero/00 Java разработка]]" parents: linked: - "[[Maven]]" article: https://struchkov.dev/blog/ru/parallel-building-modules-maven/ --- Небольшая хитрость, которая может ускорить сборку многомодульного maven проекта. Это параллельная сборка модулей. ```shell mvn -T 1C clean install ``` 1C ОЗНАЧАЕТ ИСПОЛЬЗОВАТЬ 1 ПОТОК НА 1 ЯДРО ПРОЦЕССОРА Но есть одно условие. Ваш проект должен содержать модули, которые не зависят друг от друга последовательно. Объясню на примере проекта, который состоит из 18 модулей. Оранжевыми прямоугольники я выделил модули, которые могут собираться параллельно, так как они не зависят друг от друга. ![](Pasted%20image%2020231120092703.png) По факту эти группы модулей зависят только друг от друга. Сначала собирается группа `domain`, от нее зависит группа `context`, потом core и так далее. Без `context` не собрать `core`, думаю суть понятна. Но вот модули core не зависят друг от друга, и могут собираться параллельно. Для примера вот время сборки в последовательном режиме: ![](Pasted%20image%2020231120092720.png) А вот в параллельном: ![](Pasted%20image%2020231120092732.png) Выигрыш почти в два раза. И на последок, вот как можно настроить этот параметр в Idea, чтобы не приходилось запускать сборку из консоли каждый раз. Эту настройку нужно делать в каждом проекте, она не глобальная. ![](Pasted%20image%2020231120092753.png)