Intellij, похоже, не выполняет базовую замену горячего кода в моей установке.
Для этого кода:
public class MainTest {
public void method1() {
System.out.println("Breakpoint here");
}
public void method2() {
System.out.println("Line that will get 24 modified");
}
public static void main(String[] args) {
System.out.println("First print here");
MainTest mainTest = new MainTest();
mainTest.method1();
mainTest.method2();
System.out.println("Line that I do not modify");
}
}
Я устанавливаю mainTest.method1();
точку останова, затем изменяю строку в method2 (), нажимаю ctrl + s и продолжаю шаг за шагом. К сожалению, среда выполнения не обновляется, печатается старая строка. Полная остановка - компиляция - запуск выводит новую строку. Итак, мой вывод: горячая замена не работает.
Есть ли какие-либо настройки, которые мне нужно установить, чтобы включить замену горячего кода?
- Ubuntu, JDK 1.6
- Intellij 10.5 Ultimate (ознакомительная)
intellij-idea
hotswap
Максим Векслер
источник
источник
Ответы:
После сохранения вашего класса во время ожидания точки останова просто перекомпилируйте свой класс
Build -> Compile 'MainTest.java'
или нажмитеCtrl+Shift+F9
со стандартными привязками клавиш.Затем IntelliJ IDEA покажет небольшое диалоговое окно, в котором вас спросят, хотите ли вы перезагрузить этот класс.
источник
После изменений, указанных ниже, и включения «горячей» замены изменение файла Java заняло 1-2 секунды времени перезапуска. (Начальное время запуска для меня составляет около 7 секунд).
Надеюсь, метод ниже поможет ...
Во-первых, вам нужно установить флажок «Создавать проект автоматически» в меню настроек.
Открыть меню настроек;
вы можете перейти в верхнее меню и щелкнуть;
или вы можете ввести ниже ярлык с клавиатуры;
Затем вы можете проверить,
Make project automatically
как показано на рисунке ниже;Во-вторых, вам нужно изменить
compiler.automake.allow.when.app.running
параметр реестра как истинный.Чтобы открыть реестр, вам нужно нажать ниже сочетание клавиш:
Введите,
registry
как показано на рисунке ниже, выберитеRegistry
и нажмите кнопку ввода на клавиатуре;После
Registry
открытия окна введите,compiler.automake
чтобы увидетьcompiler.automake.allow.when.app.running
вариант, и отметьте его, как показано на рисунке ниже;Затем вам нужно перезапустить IntelliJ, чтобы изменения в реестре работали.
источник
В
Debugger > HotSwap
intellij 11 есть опция.источник
Перейдите в Настройки -> Выбрать отладку -> HotSwap
источник
Я хотел, чтобы горячая замена запускалась автоматически каждый раз, когда я сохраняю файл Java. Ни один из других ответов не сделал этого, поэтому я просто:
Action: Hotswap
в конец макроса (Run -> Reload Changed Classes
)источник
Если вы столкнулись с той же проблемой, что и я, вы могли столкнуться со следующей недавней ошибкой, влияющей на обновление 2020.2 : https://youtrack.jetbrains.com/issue/IDEA-247530?_ga=2.116305920.729836936.1599654650-984156210.1599654650
TL; DR В качестве временного решения вам необходимо повторно активировать плагин Groovy.
источник
Я столкнулся с этой проблемой на Ubuntu. У меня также была явно не связанная проблема, когда IntelliJ выдавал ошибку об ограничении просмотра файлов (мои извинения, что у меня больше нет точного сообщения об ошибке). Чтобы решить эту проблему позже, я сделал следующие шаги:
Добавьте следующую строку либо в
/etc/sysctl.conf
файл, либо в новый файл * .conf (напримерidea.conf
) в/etc/sysctl.d/
каталоге:Затем запустите эту команду, чтобы применить изменение:
sudo sysctl -p --system
Теперь мои компоненты React перестраиваются и меняются в горячем режиме.
Источник
источник
Я думаю, вы спрашиваете об этом,
источник