Переустановить альтернативы JRebel

JRebel позволяет повторно скомпилировать код для повторного развертывания без перезапуска приложения. Мне интересно, есть ли альтернатива (бесплатно?). Страница FAQ отвечает на этот вопрос, но я уверен, что это предвзято относится к JRebel. Этот вопрос был задан год назад на этом сайте, но я возвращаю его, чтобы узнать, есть ли у кого-либо новая информация.

На стороне примечания, мне очень нравится JRebel, но если есть свободная альтернатива, я готов попробовать.

Еще одно замечание: я работаю над проектом с открытым исходным кодом, и они предлагают бесплатные лицензии на один год для людей, которые могут доказать, что они находятся в проекте с открытым исходным кодом. Что отлично работает для меня (www.kuali.org), но я не буду на этом проекте навсегда.

Ответ 1

Взгляните на DCEVM, это модификация виртуальной машины HotSpot, которая позволяет неограниченное переопределение классов во время выполнения. Вы можете добавлять/удалять поля и методы и изменять супер типы класса во время выполнения. Возможности DCEVM, вероятно, будут интегрированы в будущее обновление Java как часть JEP 159.

Бинарные файлы, доступные на сайте, ограничены Java 6u25 и ранними версиями Java 7. Проект был разветвлен на Github и поддерживает последние версии Java 7 и 8. Составитель предоставляет двоичные файлы для 32/64 бит виртуальных машин в Windows/Linux. Начиная с Debian 7 (Wheezy) и Ubuntu 15.04 DCEVM можно установить с помощью openjdk-7-jre-dcevm и openjdk-8-jre-dcevm и вызывается с помощью java -dcevm.

Ответ 2

Агент Hotswap является расширением для DCEVM, который поддерживает множество фреймворков Java (reload Spring bean определение, сопоставление сущности Hibernate, настройка уровня регистратора...).

Существует также много документации по настройке DCEVM и скомпилированных двоичных файлов для Java 1.7.

Ответ 4

DCEVM поддерживает расширенные переопределения классов и доступен для текущих JDK7 и JDK8.

https://github.com/dcevm/dcevm/releases

HotswapAgent - бесплатная альтернатива JRebel и поддерживает DCEVM в различных Framework.

http://hotswapagent.org/

Ответ 5

Я написал статью о DCEVM: Spring -mvc + Velocity + DCEVM

Я думаю, это стоит того, так как моя среда работает без проблем.

Ответ 6

Я работал над проектом с открытым исходным кодом, который позволяет вам быстро заменять классы сверх того, что позволяет "горячая" замена: https://github.com/fakereplace/fakereplace

Он может или не может работать для вас, но любая обратная связь приветствуется

Ответ 7

Возможно, вы захотите взглянуть на это:

Поддержка HotSwap: объектно-ориентированная архитектура Java HotSpot VM обеспечивает расширенные функции, такие как переопределение класса "на лету" или "HotSwap". Эта функция предоставляет возможность заменить модифицированный код в запущенном приложении через API-интерфейсы отладчика. HotSwap добавляет функциональность в архитектуру отладчика Java Platform, позволяя обновлять класс во время выполнения , находясь под контролем отладчика. Он также позволяет выполнять операции профилирования путем горячей замены в версиях методов, в которые был вставлен код профилирования.

В настоящий момент это позволяет только повторно скомпилировать тело метода без перезапуска приложения. Все, что вам нужно сделать, - запустить его с помощью отладчика. Я попробовал его в Eclipse, и он отлично работает.

Кроме того, как упоминал Эммануэль Бург в своем ответе (JEP 159), есть надежда на поддержку добавления супертипов и добавление и удаление методов и полей.

Ссылка: Java Whitepaper 135217: Надежность, доступность и удобство обслуживания

Ответ 8

JRebel свободен. Не покупайте его. Выберите "бесплатный" вариант (переключатель) на странице "купить". Затем выберите "Социальный". После регистрации вы получите полностью функциональный лицензионный ключ JRebel. Затем вы можете загрузить JRebel или использовать ключ в встроенной версии IDE. Уловка (да, есть улов), вы должны разрешить им размещать от вашего имени (рекламировать) один раз в месяц на вашей временной шкале FB или учетной записи Twitter. Я дал им свою учетную запись на Twitter, не biggie, я никогда ее не использую, и никто из меня, действительно, не использует ее. Так что сэкономьте 260 долларов.