usar proyecto palabra opiniones linea intellij idea como busquedas buscar archivo ajuste tomcat intellij-idea war automatic-updates

proyecto - IntelliJ y Tomcat... los archivos modificados no son reconocidos automáticamente por Tomcat



intellij opiniones (4)

Esto no se puede hacer si despliegas una guerra con IntelliJ IDEA. Sin embargo, puede ser si despliegas una guerra explotada . En IDEA:

  1. abra su configuración de Tomcat Run / Debug ( Ejecutar> Editar Configuraciones )
  2. Ve a la pestaña "Despliegue"
  3. En la sección "Implementar al inicio del servidor", elimine (si está presente) el artefacto my-webapp-name:war
  4. Haga clic en el ícono de agregar, seleccione ''artefacto'' y luego seleccione my-webapp-name:war exploded
  5. Haga clic en Aceptar (en el cuadro de diálogo "Seleccionar artefactos para implementar")
  6. Aún en la ventana de configuración de ejecución / depuración, seleccione la pestaña "Servidor"
  7. En el medio de esa pestaña, cambie la configuración "Desactivación de cuadro" a "Actualizar recursos" o "Actualizar clases y recursos"
    • Actualizar recursos: todos los recursos modificados (es decir, todos los componentes de la aplicación que no sean las clases) se actualizarán.
    • Actualizar clases: y recursos. Todos los recursos modificados se actualizarán; las clases modificadas serán recompiladas. Tenga en cuenta que si las clases reales se actualizarán depende de las capacidades del servidor web. Si no recuerdo mal, Tomcat recargará los archivos html / xhtml y jsp, pero no los Servlets ni las clases que utilizan los JSP o Servlets. Necesita modificar Tomcat para usar un cargador de clases dinámico para eso.
  8. También puede establecer la acción "On ''update'' también.
    • Esto determinó qué sucede cuando presionas la Actualización ícono (o Ctrl + F10 ) en la ventana Ejecutar.
    • el "cuadro de diálogo Mostrar" determina si IDEA le solicita cada vez que presiona el ícono de actualización
  9. Haga clic en Aceptar.

Ahora, cada vez que realice un cambio, IDEA volverá a implementar los archivos modificados cuando el marco de IDEA se desactive (es decir, pierda el foco). Tarda uno o dos segundos, lo verá en la barra de estado inferior en IDEA. Obviamente. aún necesitará actualizar su navegador web para que obtenga el nuevo archivo (a menos, por supuesto, si la página tiene una actualización automática de ajax como fetch).

Una buena combinación con Tomcat es establecer "En la desactivación del cuadro" para "Actualizar los recursos" y la acción "Encendido" para "Volver a desplegar" o "Reiniciar el servidor". Esto permite que las páginas estáticas se actualicen rápidamente mediante la desactivación del cuadro, y clase actualizada a través de la acción de ''actualización''.

Una empresa llamada ZeroTurnaround vende JRebel que es una solución dinámica de cargador de clases. También tienen una serie de cinco partes sobre el tema que es muy buena.

Estoy ejecutando Intellij Ultimate con Tomcat y desplegando una guerra. Todo se implementa correctamente en el directorio de webapp de tomcat.

Cuando cambio un archivo como un archivo xhtml, ¿hay alguna forma de que tomcat recoja automáticamente ese cambio? A partir de ahora tengo que copiar el archivo de intellij y copiarlo al directorio de donde vive en el directorio de webapp de tomcat. Sé que hay ciertos archivos que necesitarán una recompilación, pero los de xhtml no son uno de ellos.


He encontrado una mejor manera.

En Eclipse, creamos automáticamente, compilamos y volvemos a cargar archivos estáticos. En realidad, los archivos estáticos se sirven directamente desde src / main / webapp .

En IntelliJ en lugar de servir directamente desde src / main / webapp , hay una carpeta creada en target, en la que tendrá una copia de su src / main / webapp y también otro contexto relacionado .. web-inf / classes / lib.

Si coloca en lugar del destino el resultado del artefacto explosivo en src / main / webapp , no sobrescribirá sus archivos fuente, y se publicará directamente, no tendrá que pulsar - actualizar recursos / actualizar recursos y clases

Entonces, lo que debes hacer en IntelliJ es

  1. modificar el directorio de salida de artefactos explosivos a src / main / webapp
  2. crea una macro para guardar y recompila / compila las clases sucias (cmd + shift + f9)
  3. edite el registro y las preferencias para compilar automáticamente y compilar mientras se ejecuta la aplicación (cmd + shift + a - registro).

Después de esto, si tienes trabajos que cambian archivos estáticos de fuera de IntelliJ, verás cambios inmediatamente sin ir a IntelliJ y a Recursos de actualización , y para las clases tienes esa macro que guarda y compila (Nota: también puedes presionar Compilar / Recompilar: cmd + shift + F9 / cmd + F9 - si tienes varios editores abiertos verás que tus editores dirty * no estarán sucios, y los cambios (clases) se volverán a cargar


Permítanme describir la secuencia de acciones usando capturas de pantalla:

  1. Abra su configuración de Tomcat Run / Debug (Ejecutar> Editar configuraciones)

  1. Haga clic en el ícono de agregar, seleccione ''artefacto'' y luego seleccione pizza_mvc:war exploded :

  2. Modificar ''En la acción de actualización'' y ''En la diactivación de cuadro'':

  3. Cada vez que desee actualizar sus recursos, presione <Ctrl> + F10


Si quieres actualizar clases y recursos. Ejecute Tomcat en "Modo de depuración". InteliJ en esta actualización de modo sin problemas de clases y recursos.

Tengo el mismo problema. InteliJ no actualizó mi proyecto, porque corrí como "Modo de ejecución". Cuando corro en modo de depuración y presiono Ctrl + F10 , actualiza clases y recursos.