2.6 KiB
aliases | tags | date | zero-link | parents | linked | ||||
---|---|---|---|---|---|---|---|---|---|
|
|
|
Небольшая хитрость, которая может ускорить сборку многомодульного maven проекта. Это параллельная сборка модулей.
mvn -T 1C clean install
1C означате использовать 1 поток на 1 ядро процессора
Но есть одно условие. Ваш проект должен содержать модули, которые не зависят друг от друга последовательно.
Объясню на примере проекта, который состоит из 18 модулей. Оранжевыми прямоугольники я выделил модули, которые могут собираться параллельно, так как они не зависят друг от друга.
По факту эти группы модулей зависят только друг от друга. Сначала собирается группа domain
, от нее зависит группа context
, потом core и так далее. Без context
не собрать core
, думаю суть понятна. Но вот модули core не зависят друг от друга, и могут собираться параллельно.
Для примера вот время сборки в последовательном режиме:
А вот в параллельном:
Выигрыш почти в два раза.
И на последок, вот как можно настроить этот параметр в Idea, чтобы не приходилось запускать сборку из консоли каждый раз. Эту настройку нужно делать в каждом проекте, она не глобальная.
Мета информация
Область:: ../../meta/zero/00 Maven Родитель:: Источник:: Автор:: Создана:: 2023-11-20
Дополнительные материалы
Дочерние заметки
LIST
FROM [[]]
WHERE contains(Родитель, this.file.link) or contains(parents, this.file.link)