Problema
¿Cómo depuramos nuestra aplicación ejecutándola en un servidor AEM remoto (o local)?
Solución
Para depurar una aplicación CQ5, puede usar depuración remota de java.
Advertencia: No habilite la depuración remota en su entorno de producción a menos que sea necesario, ya que podría afectar en gran medida al rendimiento de su aplicación.
Paso 1: Añadir el parámetro JVM de depuración remota
- Para utilizar la depuración remota, debe iniciar AEM con este parámetro JVM:
-agentlib:jdwp=transport=dt_socket,address=8000,server=y,suspend=n
Puede controlar la herramienta mediante uno de los siguientes procedimientos:
- Añádalo a la variable de entorno
CQ_JVM_OPTS
de su scriptcrx-quickstart/bin/start
(para que su servidor siempre se inicie en modo de depuración). - Incluirlo como parámetro al iniciar AEM con
java -jar
directamente. Por ejemplo,java -Xmx512m -agentlib:jdwp=transport=dt_socket,address=8000,server=y,suspend=n -jar cq-author-4502.jar
Nota
- Si es necesario, puede cambiar el puerto definido en "...,address=8000,..." de 8000 a algo que funcione mejor en su entorno.
- Si nota que no está funcionando, evite bifurcar el proceso java especificando la opción -nofork en la línea de comandos.
- El script de inicio se encuentra en crx-quickstart/server para versiones CQ < 5.5
Paso 2: Iniciar una sesión de depuración remota
Para iniciar una sesión de depuración remota desde Eclipse, haga lo siguiente:
- Abrir Eclipse.
- Seleccione Ejecutar > Configuraciones de depuración.
- Haga clic con el botón secundario en Aplicaciones Java remotas y seleccione Nuevo.
- Seleccione su proyecto CQ5 en Proyecto.
- Introduzca el puerto desde la configuración "address" del parámetro jvm definido anteriormente. En el ejemplo, es el puerto 8000 (y el nombre de host de la máquina a la que se está conectando, muy probablemente localhost)
- Para iniciar una sesión de depuración, haga doble clic en su nueva configuración en la pantalla Configuraciones de depuración después de guardarla.
Se aplica a: Adobe Experience Manager 6.x