Мы можем поставить hotifx(без сборки просто переместить файл класса) после добавления нового метода в класс Java

Мое приложение JAVA работает с последних 10 дней.

Теперь я хочу поместить файл.class как исправление ошибки, в котором я представил новый метод, я не хочу делать сборку. Я просто поставлю его как исправление в каталоге классов и отказов сервера.

Давным-давно я где-то читал, если мы вводим новый класс / новый метод, мы не можем поставить исправление. Если это правда, я ищу документацию для этого.

Редактировать: Когда я искал с помощью Term Hot-Swapping, нашел несколько интересных ссылок http://java.dzone.com/articles/reloading-java-classes-401 Ограничения с помощью горячей замены Java

Кажется, горячая замена ограничена только телами методов, для этого у нас есть ошибка JVM.

Edit2: Горячая замена здесь на самом деле не требуется, так как я перезагружаю сервер.

1 ответ

Решение

Я создал папку с именем classes и добавил ее в classpath перед соответствующим файлом jar. Добавлен файл.class в папку классов в соответствии со структурой пакета и перезагруженным сервером. Поскольку загрузчик классов загружает файл класса в последовательности, которую мы предоставляем в classpath, мой класс из папки классов загружается, и мои изменения отражаются во время выполнения.

Например, если мой java-файл - com.vipin.test.Test.java, я поместил Test.class в папку classes/com/vipin/test.

Другие вопросы по тегам