IntelliJ IDEA Community Edition и Spring с медленной перезагрузкой с помощью Spring DevTools - PullRequest
0 голосов
/ 24 апреля 2020

Я знаю, что IDEA CE не поддерживает Spring, но я все еще могу развиваться с приличной поддержкой автозаполнения, чего мне достаточно.

У меня проблема в том, что это занимает от 5 до 7 секунд. для IDE, чтобы перезагрузить сервер с изменениями, которые я сделал после нажатия Ctrl + S. Итак, я искал дополнительные опции, которые я могу изменить, и я попробовал это:

enter image description here

Но это не решает проблему.

Хотя я знаю, что могу использовать VSCode, поскольку поддержка Java превосходна, а в Spring перезагрузка выполняется очень быстро, для поддержки Kotlin расширение не достаточно хорошее. Поэтому я хотел бы найти исправление, чтобы уменьшить задержку перезапуска сервера, если это возможно. Кажется, это сделано специально, чтобы заставить вас купить Профессиональную версию.

1 Ответ

1 голос
/ 24 апреля 2020

Вам не нужно использовать автоматическую c компиляцию или DevTools для IntelliJ IDEA Community или Ultimate для горячей замены классов в режиме отладки. Если вы хотите скомпилировать на Ctrl + S , назначьте этот ярлык для Build | Build action.

В среде IDE будет произведена горячая замена измененных классов, и изменения будут доступны в браузере менее чем за секунду:

Reload

Пример проекта: boot-hotswap-demo.zip .

Шаги:

  1. Нажмите кнопку Отладка , чтобы запустить приложение
  2. Открыть http://localhost: 8080 / в веб-браузере
  3. Наблюдать Greetings from Spring Boot!!! output
  4. Изменить строку в HelloController.java на что-то другое
  5. Сборка | Построить (или Ctrl + S , если вы назначили его этому действию)
  6. Перезагрузить страницу в браузере, наблюдать за изменениями менее чем за секунду, IDE показывает уведомление о перезагрузке классов.

Вы также можете раскомментировать зависимость spring-boot-devtools в pom.xml, если вы хотите положиться на DevTools, и это приведет к перезапуску сервера при изменениях. Это немного медленнее, но определенно не 5-7 секунд, как вы описываете.

...