run intellij idea hot configurar java jsp tomcat intellij-idea hotswap

java - idea - intellij set up tomcat



Hot Deploy JSP despuĆ©s de la modificaciĆ³n con Intellij 10.X y tomcat 6.X (4)

Tengo una aplicación Hello-World con una clase java y una jsp. La JSP imprime un texto que está incrustado en la JSP y desde la clase java. (Imprime dos cosas)

Seguí las instrucciones here para crear e implementar mi aplicación y (¡en su mayoría) FUNCIONA! Puedo invocar el JSP y muestra correctamente la página. También puedo cambiar los cambios en la clase java después de presionar el botón de recarga Intellij.

Problema : si cambio la JSP, no se refleja en el navegador.

He verificado lo siguiente:

  • web.xml en el directorio Tomcat / conf no invalida el valor de "desarrollo". El defecto es cierto.
  • context.xml en HelloWorld / web / META-INF / context.xml y Tomcat / conf / context.xml tiene recargable = true
  • Que el JSP se copie de C: / code / HelloWorld / web / index.jsp a C: / code / HelloWorld / out / artifacts / HelloWorld_war_exploded / index.jsp en cualquier cambio inmediatamente
  • No es un problema de caché del navegador

¿Alguna idea?


Cuando respondo a esta pregunta, IntelliJ IDEA está en la versión 13.0.2. Las opciones son ligeramente diferentes ya que se hizo esta pregunta. En resumen, a través del panel "Ejecutar / Depurar Configuraciones" para su proyecto:

  1. Asegúrese de que su proyecto esté configurado para implementarse como "guerra explotó" (a través de la "Implementación")
  2. En la pestaña "Servidor", configure "En desactivación de cuadros" a "Actualizar clases y recursos"

Seguir esos dos pasos, en orden, dará como resultado que el proyecto se "intercambie en caliente" cuando IDEA pierda el enfoque (es decir, cuando cambie el enfoque a un navegador web).

Las instrucciones completas están disponibles en http://www.jetbrains.com/help/idea/2016.1/updating-applications-on-application-servers.html?search=application%20servers


Estoy usando Intellij IDEA 10.0.3 y encontré el mismo problema. Lo resolví marcando una configuración: " Actualizar recursos en la desactivación de cuadros " en la configuración del servidor Tomcat en la sección Ejecutar / Depurar configuración. Espero que esto ayude.


Hace años configuré Tomcat para recompilar jsp''s cuando vio un cambio en el tiempo modificado. Recientemente probé la misma configuración, pero no funcionó para mí.

En mi situación, los cambios que necesitaba ver eran en su mayoría cambios en html y, por lo tanto, pude encapsular la mayoría de los html en un archivo html separado. Luego incluyo su contenido dentro del jsp usando un archivo leído. Entonces pude obtener cambios inmediatos en el html reflejado en el navegador sin tener que volver a implementarlo. Tenga en cuenta que una inclusión de jsp no hizo el truco (almacenó en caché el html), tuvo que leer el archivo utilizando un lector de archivos dentro de un ayudante de java para devolver la cadena al jsp. (Podrías poner la lógica java en el jsp, pero eso no es para nada como mvc)

Una advertencia para este enfoque es la combinación de datos variables en el archivo leído en html. Hay un par de enfoques que puede utilizar. 1. invente su propio algoritmo de remplazo de cadenas y haga que su aplicación auxiliar reemplace dinámicamente las cadenas 2. emita sus datos variables en un bloque javascript y permita que javascript actualice los valores html dentro de su bloque de html de lectura de archivos (asumiendo que usted tiene las chuletas de javascript para extraer) que apagado).


Intente editar la Run/Debug Configuration , vaya a la pestaña Implementación y despliegue el archivo war explotado.