У нас есть мультипроект Maven, и у нас нет хорошего решения, работающего с Intellij, не тратя время на ожидание ненужных повторных сборок.
IntelliJ теряет преимущества своего мощного инкрементного компилятора - мы видим, что он не может нормально работать с Maven, потому что вынуждает разработчиков ждать 2 сборок, прежде чем сервер запускается в режиме отладки (один раз с Maven и второй раз для внутренней компиляции IntelliJ).
До Maven единственная кнопка, которую нужно было нажать, - Hammer. , И это было сделано автоматически при запуске сервера. Кроме того, только измененный код был скомпилирован благодаря мощному процессу инкрементальной компиляции IntelliJ.
Сборка "Hammer" все еще необходима для того, чтобы IntelliJ синхронизировал свои индексы и горячие отладки.
Теперь Maven Project, после чистой установки mvn - IntelliJ ДОЛЖЕН СОСТАВЛЯТЬ ВТОРОЕ ВРЕМЯ (инструмент молотка) при запуске сервера - в противном случае горячая отладка не работает. Со стандартной конфигурацией запуска в предыдущем изображении статистика сборки автоматически перед запуском сервера. Кажется, что нет никакой связи между классами, созданными посредством процесса Maven, и индексом IntelliJ - поэтому IntelliJ должен перекомпилироваться - выбора нет.
В большинстве случаев IntelliJ просит внутреннюю компиляцию перекомпилировать все / не может сказать правило. На самом деле это звучит так, как будто IntelliJ перекомпилирует весь затронутый модуль и все дочерние зависимости - как это делает Maven. Так что, если вы обновите зависимости модуля root или измените некоторые классы модуля root, IntelliJ перекомпилирует все модули - чаще всего.
Так что сказка о пошаговой компиляции IntelliJ очень далека теперь с Maven.
Теперь в последней версии 2019.3 IntelliJ предложил знаменитые настройки «Делегировать IDE build / actions to Maven». Было заявлено, что некоторая ошибка была устранена с помощью 2019.3.1.
Но теперь, если мы выберем опцию Делегировать сборку / действия IDE для Maven: стандартная конфигурация запуска, будет запускать сервер Tomcat и параллельно. . 2 Сборки Maven (Wow!): 1 для одиночного военного модуля и еще один для родителя, содержащего весь многомодульный модуль. Хуже того, IntelliJ через некоторое время запускает несколько дублирующих процессов родительского мультимодуля, точно так же, как он перезапускается параллельно.
Обратите внимание, что наш проект идеально построен на Maven / Bamboo CI, и что IntelliJ в порядке без этого нового option.
Вопрос был таким: Как мы можем предотвратить несколько сборок с проектом Maven в IntelliJ IDE? Какие настройки для мирной работы с мощной IDE?
Любые советы приветствуются