remoto remote plugin modo mkyong intellij iniciar how enable debug configurar java tomcat intellij-idea

java - remote - tomcat debug port



¿Cómo depurar una aplicación web Tomcat 7.x/8.x localmente con la versión de la comunidad IntelliJ(gratuita) en Linux? (3)

Historia

Si ha trabajado con la edición de IntelliJ Ultimate, ha visto que es posible agregar una configuración de Tomcat donde puede tanto depurar como ejecutar su contenedor de Tomcat desde IntelliJ. Es posible obtener la versión de la Comunidad de IntelliJ para que haga lo mismo por ti con un poco de configuración adicional.

Conceptos relevantes

Tomcat JMX

Esta es una herramienta de monitoreo y administración remota para Tomcat. La configuración relacionada con JMX no es necesaria para habilitar su depuración. Aunque puede ser útil para fines de monitoreo a través de JConsole ( leer más ).

Diferentes puertos

La instancia de Tomcat ya debe estar en funcionamiento para que la versión de la Comunidad pueda adjuntarse al proceso de Tomcat. Mientras su Tomcat se ejecute en un puerto (el valor predeterminado de Tomcat es 8080), también necesita configurar otro puerto para que el depurador se adjunte a su versión de Tomcat (9999 en nuestro ejemplo).

Ajustes

Las configuraciones incluyen los cambios que necesita realizar en su Tomcat y las configuraciones que necesita hacer en su edición de la comunidad IntelliJ.

Por favor, siga el orden en los cambios.

Cambios relacionados con el lado de Tomcat

  1. Detenga su Tomcat si se está ejecutando en su carpeta bin de Tomcat a través de: ./shutdown o ./catalina stop

  2. Agregue la siguiente línea a su archivo catalina.sh bajo la declaración del conjunto JAVA_OPTS comentada:

    JAVA_OPTS = "$ JAVA_OPTS -Xdebug -Xrunjdwp: transporte = dt_socket, servidor = y, suspender = n, dirección = 9999"

SUGERENCIA: He utilizado JAVA_OPTS no CATALINA_OPTS ya que los comentarios en catalina.sh sugieren que es preferible usar JAVA_OPTS . Sin embargo, es posible utilizar CATALINA_OPTS de una manera similar para habilitar la depuración.

  1. Iniciar Tomcat:

./catalina.sh inicio

IntelliJ cambios relacionados

Resultado

Después de hacer clic en el botón de depuración en la edición de la Comunidad de IntelliJ, su sección de depuración se abrirá con la siguiente línea en su área de Consola:

Conectado a la máquina virtual de destino, dirección: ''localhost: 9999'', transporte: ''socket''

Publicaciones relevantes y enlaces

  1. Depuración remota con Tomcat (7) e Intellij ( aunque muy útil solo para Windows)
  2. IntelliJ y Tomcat .. ¿Cómo ..? (Engañando como es viejo)
  3. Configuraciones de la versión final y comunitaria de IntelliJ (Útil pero más complicado)
  4. IntelliJ IDEA 14.0.0 Web Help / Run / Debug Configuration: Tomcat (Un poco útil)
  5. Depuración con Tomcat e Intellij Community Edition (antiguo e incompleto)

Entiendo que esto es posible hacerlo con la Ultimate Edition, pero ¿hay alguna manera de depurar estas aplicaciones localmente en la Community Edition?


Para usuarios de Windows

poner

set "JAVA_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005"

línea en catalina.bat luego abra la línea de comando en el directorio tomcat y ejecute

catalina.bat run

También tenga en cuenta: tuve que elegir el puerto 5005 porque el predeterminado en las configuraciones de mi IntelliJ no era editable.


La respuesta de AmirHd es muy útil, pero tuve un problema más. Cuando cambié, el servidor JAVA_OPTS no se cerró como en esta publicación: Tomcat no se cerró. Resolví esto cambiando

JAVA_OPTS

a

CATALINA_OPTS