Intellij no parece estar haciendo un intercambio de código activo básico en mi instalación.
Para este código:
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");
}
}
Pongo un punto de interrupción y mainTest.method1();
luego modifico la cadena en el método2 (), presiono ctrl + sy continúo paso a paso. Desafortunadamente, el tiempo de ejecución no se actualiza, se está imprimiendo la cadena antigua. Parada completa - compilar - ejecutar imprime la nueva cadena. Entonces mi conclusión es que el intercambio en caliente no funciona.
¿Hay alguna configuración que deba establecer para habilitar el intercambio de código activo?
- Ubuntu, JDK 1.6
- Intellij 10.5 Ultimate (evaluación)
intellij-idea
hotswap
Maxim Veksler
fuente
fuente
Respuestas:
Después de guardar su clase mientras espera su punto de interrupción, simplemente vuelva a compilar su clase
Build -> Compile 'MainTest.java'
o presioneCtrl+Shift+F9
con las combinaciones de teclas estándar.IntelliJ IDEA mostrará un pequeño cuadro de diálogo en el que le preguntará si desea volver a cargar esa clase.
fuente
Después de las siguientes modificaciones y habilitar el intercambio en caliente, un cambio en un archivo Java tomó 1-2 segundos de reinicio. (La hora de inicio inicial es de alrededor de 7 segundos para mí).
Espero que el siguiente método ayude ...
Primero, debe marcar "Hacer proyecto automáticamente" en el menú de preferencias.
Para abrir el menú de preferencias;
puede ir al menú superior y hacer clic;
o puede escribir el siguiente atajo a través del teclado;
Luego, puede verificar
Make project automatically
como en la imagen de abajo;En segundo lugar, debe modificar la
compiler.automake.allow.when.app.running
configuración del registro como verdadera.Para abrir el registro, debe hacer clic debajo del atajo de teclado:
Escriba
registry
como en la imagen de abajo, seleccioneRegistry
y presione el botón Enter del teclado;Después de
Registry
abrir la ventana, escribacompiler.automake
para ver lacompiler.automake.allow.when.app.running
opción y verifíquela como en la imagen de abajo;Luego, debe reiniciar IntelliJ para que los cambios en el registro funcionen.
fuente
Hay una
Debugger > HotSwap
opción en intellij 11.fuente
Vaya a Configuración -> Seleccione Depurar -> HotSwap
fuente
Quería que hotswap se ejecutara automáticamente cada vez que guardaba un archivo Java. Ninguna de las otras respuestas hizo esto, así que solo:
Action: Hotswap
al final de la macro (Run -> Reload Changed Classes
)fuente
Para cualquiera que experimente el mismo problema que yo, es posible que haya incurrido en el siguiente error reciente que afecta a la actualización 2020.2 : https://youtrack.jetbrains.com/issue/IDEA-247530?_ga=2.116305920.729836936.1599654650-984156210.1599654650
TL; DR Como solución temporal, debe volver a activar el complemento Groovy.
fuente
Encontré este problema en Ubuntu. También tuve un problema aparentemente no relacionado en el que IntelliJ dio un error sobre el límite de visualización de archivos (mis disculpas porque ya no tengo el mensaje de error exacto). Para resolver este problema posterior, hice los siguientes pasos:
Agregue la siguiente línea al
/etc/sysctl.conf
archivo o un nuevo archivo * .conf (por ejemploidea.conf
) en el/etc/sysctl.d/
directorio:Luego ejecute este comando para aplicar el cambio:
sudo sysctl -p --system
Ahora mis componentes de React se reconstruyen e intercambian en caliente sin problemas.
Fuente
fuente
Creo que estás preguntando sobre esto
fuente