Как горячая перезагрузка сервера Tomcat в VSCode
Я перехожу из Eclipse IDE (+ VSCode для кодирования Java-сервлетов и веб-страниц HTML/CSS/JS, соответственно) только в код Visual Studio для его легкого веса.
У меня установлено несколько расширений Java для VSCode:
Eclipse имеет ряд настроек для горячей перезагрузки:
- Automatically publish when resources change
- Refresh using native hooks or polling
в то время как VSCode, кажется, не имеет для меня.
Несколько вещей, которые я пытаюсь перезагрузить мой Java и веб-код:
- Перезагрузите сервер Tomcat
- Удалить и повторно добавить сервер Tomcat
- Удалите и регенерируйте пакет
.war
(не уверен, что это что-то делает, он может работать без пакета .war
)
Ответы
Ответ 1
Хорошие новости...
Теперь работает автоматически. С Tomcat для расширения Java (и остальной частью пакета расширения Java):
https://marketplace.visualstudio.com/items?itemName=adashen.vscode-tomcat
Просто убедитесь, что ваши настройки такие (ищите "java.autobuild", чтобы получить эти два в первых результатах):
Очень важно, что вы не увидите никаких журналов в консоли на HCR (горячая замена кода), как это происходит в Eclipse... но вы на самом деле увидите поведение замененного кода. Просто отладьте фрагмент кода, который вы изменили, и вы увидите, что он действительно изменился на работающем сервере.
ОБНОВЛЕНИЕ: Я обнаружил, что он работает лучше с настройкой "вручную" (по умолчанию). Просто нажмите один раз на значок молнии. (Тестирование в Ubuntu 18.04 LTS)
[Я говорю, что это работает лучше, потому что, если я добавлю строки в код Class с настройкой 'auto', он не будет добавлять этот код... только если я изменю код в существующих строках. Но с ручной настройкой я просто сохраняю файл, а затем нажимаю значок молнии, подожду ~ 3 секунды и отлаживаю новый код... и все идет хорошо !!
... Это решает мои потребности в кодировании (облегченный редактор /IDE с горячей заменой кода в Tomcat)]
Наслаждайтесь !
Ответ 2
Я написал сообщение в блоге, объясняющее шаги для настройки горячей перезагрузки tomcat в VScode. https://medium.com/@manoj_makkuboy/hot-reload-java-8-tomcat-server-in-vscode-ba6233d632e?
Ответ 3
Эта статья может быть полезна, я перехожу с другой IDE на Vscode. Согласно статье, если вы устанавливаете Debugger for Java, включается горячая замена кода (HCR), а затем:
Вы можете начать сеанс отладки и изменить файл Java в своей среде разработки, и отладчик заменит код в JVM, выполняющей ваш код.
Горячая замена кода для Java приходит в Visual Studio Code
Ответ 4
Установите расширение "Tomcat для Java" в VScode.
Настройте Путь Tomcat в вышеуказанном расширении.
Теперь вы сможете запускать tomcat в обычном режиме build → deploy. Теперь установите DCEVM, используя "java -jar installer-light.jar". (Выберите "Установить DCEVM как altjvm")
Поместите HotSwap Agent Jar в каталог по вашему выбору.
Теперь в VScode щелкните правой кнопкой мыши созданный вами сервер Tomcat. (Один из шага 3) И выберите "Настройка параметров JVM".
В открывшемся файле поместите "-XXaltjvm = dcevm -javaagent:/[your_directory]/hotswap-agent-1.3.1-SNAPSHOT.jar" Теперь щелкните правой кнопкой мыши по серверу Tomcat в VScode и выберите "Debug WAR package" И выберите файл WAR.
Если все идет хорошо, WAR запускается в TOMCAT в режиме отладки с текстом "HOTSWAP AGENT" в журнале.
Теперь каждое ваше сохранение в вашем файле будет запускать горячую перезагрузку.
https://medium.com/@manoj_makkuboy/hot-reload-java-8-tomcat-server-in-vscode-ba6233d632e?