- 17
- 3
Во время разработки\отладки своей модификации разработчики тратят кучу времени на перезапуск приложения или ожидания деплоя кода.
Хватит это терпеть! На помощь приходит HotSwap - подмена изменённых классов приложения "на лету" без перезапуска всего проекта (нужно только немного подождать)
Я не буду расписывать всю технологию (для этого есть хабр)
Скажу лишь, что использовать будем Dynamic Code Evolution Virtual Machine
Эта "волшебная палочка" позволит нам делать неограниченное количество «горячих» замен классов в режиме реального времени.
Итак. Приступаем к установке.
0. Что нам понадобится?
HotSwapAgent Гитхаб
DCEVM Гитхаб
На момент написания статьи поддерживаемая версия JDK 8u181, качаем её отсюда
1. Установка
Устанавливаем JDK
Качаем HotSwapAgent, пихаем его куда Вам удобно (без кириллицы и пробелов в пути)
Качаем установщик DCEVM, запускаем, выбираем нашу 8u181 и устанавливаем как альтернативную
Данный установщик может ругаться, что нет прав на запись или открытые Java приложения. Закрываем всё, запускаем из-под администратора
2. Настройка Eclipse
Топаем в Настройки, ищем там JRE и добавляем свежеустановленную
Теперь открываем Run Configurations и добавляем в начало такие параметры
Мой агент лежит в корне D, а вы вспоминайте, куда засунули свой
3. Результаты
После нажатия Build (Ctrl+B) изменённый код применится в клиенте все счастливы
Во избежание частых просадок и вылетов, отключайте функцию автосборки и избегайте сохранения кода с ашипками
Хватит это терпеть! На помощь приходит HotSwap - подмена изменённых классов приложения "на лету" без перезапуска всего проекта (нужно только немного подождать)
Я не буду расписывать всю технологию (для этого есть хабр)
Скажу лишь, что использовать будем Dynamic Code Evolution Virtual Machine
Эта "волшебная палочка" позволит нам делать неограниченное количество «горячих» замен классов в режиме реального времени.
Итак. Приступаем к установке.
0. Что нам понадобится?
HotSwapAgent Гитхаб
DCEVM Гитхаб
На момент написания статьи поддерживаемая версия JDK 8u181, качаем её отсюда
1. Установка
Устанавливаем JDK
Качаем HotSwapAgent, пихаем его куда Вам удобно (без кириллицы и пробелов в пути)
Качаем установщик DCEVM, запускаем, выбираем нашу 8u181 и устанавливаем как альтернативную
Данный установщик может ругаться, что нет прав на запись или открытые Java приложения. Закрываем всё, запускаем из-под администратора
2. Настройка Eclipse
Топаем в Настройки, ищем там JRE и добавляем свежеустановленную
Теперь открываем Run Configurations и добавляем в начало такие параметры
Java:
-XXaltjvm=dcevm -javaagent:D:\hotswap-agent-1.4.0.jar=autoHotswap=true
Мой агент лежит в корне D, а вы вспоминайте, куда засунули свой
3. Результаты
После нажатия Build (Ctrl+B) изменённый код применится в клиенте все счастливы
Во избежание частых просадок и вылетов, отключайте функцию автосборки и избегайте сохранения кода с ашипками
Последнее редактирование: